2011/11/18

Androidアプリ非同期処理の実装

AsyncTaskのメソッド


型パラメータ

  1. Params doInBackground()の引数の型
  2. Progress 進捗を表わす型
  3. Result バックグラウンドで実行した結果の型
メソッド
  1. onPreExecute() バックグラウンドの処理開始前にUIスレッドから呼び出される。進捗ダイアログの表示など。
  2. doInBackground() バックグラウンドで実行する処理
  3. onProgressUpdate()
  4. onPostExecute() バックグランドでの処理終了後にUIスレッドから呼び出される。結果を画面に反映する処理
  5. onCancelled();

2011/11/05

Titanium Studioで日本語のAndroidアプリ名

国際化対応 i18nディレクトリを作成し、その中に ja ディレクトリを作る。
ja フォルダ内にstrings.xmlを設置する。

strgins.xml
<?xml version="1.0" encoding="UTF-8"?> 
<resources>
<string name="appname">[@string/appnameに指定する文字列]</string>
</resources>


/build/android 配下にできるAndroidManifest.xmlを /platform/android/にコピーし、
android:label=""をandroid:label="@string/appname"に書き換える。
(appnameは任意の文字列)

その際、en ディレクトリにも strgins.xml を準備しないと、android marketにアップロードする際に、
The file is invalid:・・・Failure getting entry for 0x7f030000・・・package 0 (error -75) ERROR getting 'android:icon' attribute: attribute is not a string value
のエラーが発生する。(enフォルダとstrings.xmlを準備したらエラーが発生しなかった。)


Titanium mobile で作ったAndroidアプリにadmobを入れる

Titanium の admobモジュールをインポート

ここからTitanium-Android-AdMob-Moduleをダウンロード
bkurzius-Titanium-Android-AdMob-Module-cdf87db.zip
解凍後、dist配下のcom.studioclassics.admob-android-0.1.zipを
Titanium Studio の導入したいプロジェクトで
Import > General > ArchiveFile からインポートする

app.js への記述方法は、modules > android > ti.admob > 1.0 > example > app.js を参照


tiapp.xmlの<modules/>を以下に書き換える。
<modules>
<module version="1.0">ti.admob</module>
</modules>

AndroidManifestファイルの
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
を消すと表示されない?