Build AI experiences Build AI-powered Android apps with Gemini APIs and more. Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.
![Content providers | Android Developers](https://cdn-ak-scissors.b.st-hatena.com/image/square/8625869fdda9d01ac482da229cc81f5ad5847464/height=288;version=1;width=512/https%3A%2F%2Fdeveloper.android.com%2Fstatic%2Fimages%2Fsocial%2Fandroid-developers.png)
バックグラウンド(無限ループ)で重い処理が動き続ける状態で それにあわせてUIを更新したいと思いました。 Activity内でThreadを使うとUIが固まってしまう AsyncTaskは便利だけれどTaskが使い捨てなのが利用を悩む Messengerは非同期では無さそう。 勉強不足なのは重々承知なので誤解は多々あると思いますがご容赦下さい。 AIDLを用いたコールバックでUIを非同期に更新にチャレンジ 環境 OS Windows8Pro 64bit Java Oracle Java SE 1.7.0u45 IDE Android Studio 0.4.0 Android SDK r22.3 Gradle 1.9 ファイルリスト以下のファイルを生成・編集します。 IMyService.aidl IMyCallback.aidl MyService.java fragment_main.x
aidlファイルの作成 New->aidlから、IMyAidlInterface.aidlファイルを作成する。 interface IMyAidlInterface { /** * Demonstrates some basic types that you can use as parameters * and return values in AIDL. */ void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString); } build.gradleの編集 Android Studio 1.0.2, gradle plugin 1.0.0, build tools 21.1.2以降の組み合わせでは、特に設定しなくても認識されています。 ファイ
sqlite版を作り、JSON版もほぼ同じに作りたかったけど、経験と能力不足で挫折。とりあえず動くコードをメモ。 やりたいこと ・WebAPI(PHP)からJSONを取得し、ページング表示。移動(待ち)時間には「くるくる」を表示。 ・データの最後まできたら「これ以上データはない」的なメッセージを出す。 作ったファイル MyActivity.java (説明なし) Member.java(取り扱うデータ) MemberAdapter.java(カスタムアダプター) MyData.java(データを非同期で取得するクラス) footer.xml(フッター用レイアウト) row.xml(ListViewの1行ずつのレイアウト) 課題・考察 sqliteを使う場合と統合ができなかった。。。それは後日の課題とする。 最初の読み込み時だけは、処理を変えたかったけど、可読性重視で特に何もしてない。 (デ
やりたいこと JSONから情報を取得しListViewに表示。そのとき、JSONと画像はVolleyで取ってくる。 必要なファイル(クラス) MyActivity.java メイン。 Member.java ListViewで表示するデータ。ArrayListで使う。 MemberAdapter.java カスタムアダプター(肝)。 MyLruCache.java キャッシュクラス。ImageLoaderの引数に必要(まるまるコピペ) 追記:JsonObjectRequestの第三引数を(String)null,と型指定しました。 コード setAdapter(adapter)の後にリクエスト。 public class MyActivity extends Activity { ListView myListView; RequestQueue queue; @Override prot
{ "status":"OK", "members":[ {"name":"hoge","age":"56"}, {"name":"foo","age":"34"} ] } android側 追記 なお、最新環境で下記のコードを実行すると「JsonObjectRequestの参照はあいまいです」的なエラーが出ます。 以前より、引数の型が厳しくなったようです(以下は修正済)。 new JsonObjectRequest(Method.GET, url, null, のところを、 new JsonObjectRequest(Method.GET, url, (String)null, とすることで回避できます。 public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedIns
TL;DR Application クラスを継承した MyApplication クラスを定義して、シングルトンパターンでオブジェクトを取得できるようにする。 MyApplication オブジェクト経由で RequestQueue オブジェクトへのアクセスを行うようにする。 概要 Volley は 2013 年の Google I/O で発表されたライブラリで、シンプルながらも強力な API を備えた便利なライブラリです。この Volley ですが、いざ使おうと思って調べてみると RequestQueue はシングルトン的に使う方が良い というような情報がいくつか出てきますが、実際どうやってシングルトン的に扱うのかが最初判りませんでした。 色々やった結果、 Application クラスを継承したクラスを作ってあげて、アプリケーションの起動時にオブジェクトを生成し、Application
※これもう大分古いので AndroidでJava8環境 2016 - visible true も御覧ください。 はじめに RxAndroid(というかRxJava)とRetrolambdaでそろそろ大体Java8な環境でAndroidアプリケーションが開発出来るのではないかと考えて試してみた。 2014年4月頃のRetrolambdaはまだ1.1.4とかでlambdaをおまけ程度に使える程度で「あー戯れって感じねはいはい」という事でスルーしていたんだけど、最近久しぶりに覗いたら1.8.0まで育っていてTry-with-resources*1やMethod referencesがサポートされていた。 また、RxJavaは1.0.0が11月にリリースされて実用段階に入ってきており、Java8のStream APIを概ね補完する様な機能を持っている。 更にAndroidでRxJavaを扱うため
Java WebSockets This repository contains a barebones WebSocket server and client implementation written in 100% Java. The underlying classes are implemented java.nio, which allows for a non-blocking event-driven model (similar to the WebSocket API for web browsers). Implemented WebSocket protocol versions are: RFC 6455 RFC 7692 Here some more details about protocol versions/drafts. PerMessageDefla
Overview Features Recipes Security Works with OkHttp API Change Logs Contributing OkHttp¶ HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP efficiently makes your stuff load faster and saves bandwidth. OkHttp is an HTTP client that’s efficient by default: HTTP/2 support allows all requests to the same host to share a socket. Connection pooling reduces reque
Introduction Retrofit turns your HTTP API into a Java interface. public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } The Retrofit class generates an implementation of the GitHubService interface. Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build(); GitHubService service = retrofit.create(GitHubServ
JellybeanOnBeaglebone_WithSGXを参考にBeagleBone Black向けのAndroid4.2をビルドしてみました。最後、SDカードに書き込む際にロケールを変更することを忘れずに。 動かしてみた感想ですが、もっさりでした。 実用的ではないですけど、遊びとして試してみるのが良いと思います。 前提条件 2014年3月時点での手順です。 ビルド環境は、以下の環境です。 Lenovo U310 (CPU:Corei5、Mem:4GB) Windows8.1 Ubuntu 12.04(64bit)のインストール 13.xx系ではダメ。12.04を使う必要があります。 32bitではダメ。64bit版を使う必要があります。 仮想マシンはVirtualBoxを利用しました。 仮想マシンを作成する際は、Ubuntu(64bit)を選択。64bitが選択できない場合、BIOSの
この記事は、Androidアドベント・カレンダーの12月2日分の記事です。 BeagleBone Blackとは BeagleBone Blackは、5000円以下で購入できる名刺サイズのボードです。 beagleboad.orgによって、オープンハードウエアとして開発されており、日本でも簡単に入手できます。 SoCにARM Cortex-A8 1GHzのTI AM335xを採用していて、DRAMも512MB搭載されています。 手のひらに乗るような、とても小さなボードですが、Androidだけでなく、UbuntuやDebianなどのLinux環境も動作させることもできます。出荷状態では、Linuxディストリビューションとして、Angstromがインストールされています。 世間では、RasPiが人気ですが、価格は数百円差で、動画の再生をする場合を除いては、トータルなパフォーマンスはBeagl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く