タグ

androidに関するjigarashiのブックマーク (13)

  • bindService()で始める、Binderクラスで作るService

    Binderクラスを使って作る最も一般的なServiceの作成方法です。 bindService()を使ってServiceをBindし、Serviceで提供するユーザー関数を直接コールすることができます。Bindしている間Serviceは存在し、Unbindすると削除されます。複数のActivityからマルチでBindすることもできます。 bindService()を使ったServiceの作り方は3種類ありますが、今回紹介する方法が最も一般的です。なぜなら、アプリ内(正確にはServiceと同一プロセスで動くコンポーネントにServiceを提供する場合)でServiceを提供する場合はこの方法が最も適切かつ簡単なため、他のプロセスやアプリに機能を提供するなど特別なケースでない限り、他の方法を使う必要がないからです。 おおざっぱな流れは、Service側のクラスはBinderを拡張したユーザ

  • 橋本商会 » Eclipseで作ったAndroidプロジェクトをantでbuildする

    ふつうに最初からEclipseで開発したプロジェクトのディレクトリ内で、 android update project --path `pwd` してから ant debug adb install -r bin/YourApp.apk でインストールできる。 android updateでantビルドに必要なbuild.xmlとlocal.propertiesが生成される。 local.propertiesにはandroid sdkの絶対pathが含まれているので、この2つはgitにcommitしない方が良いみたいだ

  • CUIのみでAndroidの開発環境を作る - matabii's blog

    何の役に立つのか疑問ですが、一貫した情報が無くハマりポイントが多かったので書いときます。 環境はさくらのVPS上に作りました。正真正銘のCUIです。 http://vps.sakura.ad.jp/ 最小構成でインストールしたCentOSに、カーネルは2.6.18-194.8.1.el5 x86_64です。古い・・・ Javaの環境 まずはJavaの実行環境が必要です。openjdkを使えば良いと思います。 yumに「java-1.6.0-openjdk.x86_64」があったのでインストールしました。 Android SDK Linux用のAndroid SDKをダウンロードしてきます。 http://developer.android.com/sdk/index.html 適当なディレクトリに展開。 ここでダウンロードしたAndroid SDKはtoolsだけで、platformsやa

    CUIのみでAndroidの開発環境を作る - matabii's blog
  • Androidトレーニング バッテリーレベルと充電の状態を監視

    このレッスンで教える事1.現在の充電状態を取り扱う 2.充電状態の変化を監視する 3.現在のバッテリーレベルを取り扱う 4.バッテリーレベルの重要な変更を監視する これを見ておいてください・Intents and Intent Filters バッテリーライフの最適化 バックグラウンド更新がバッテリーライフに与える影響を減らすために、現在のバッテリーレベルと充電状態をチェックする事から始めるのが良いでしょう。 アプリケーションの更新によるバッテリーライフへのインパクトはデバイスのバッテリーレベルと充電状態によります。 デバイスをACで充電しているときアップデートの実行は取るに足らないでしょう。 そのため、ACアダプタで充電している殆どの場合、更新間隔を最大限短くする事が出来ます。 逆に、デバイスが充電していないとき、更新頻度を減らす事は、バッテリーライフを伸ばす事を助けます。 同様に、バッ

    Androidトレーニング バッテリーレベルと充電の状態を監視
    jigarashi
    jigarashi 2014/03/24
    broadcastreceiverを登録しなくても情報が受け取れる
  • Android Wiki*

    ログの取得 try { ArrayList<String> commandLine = new ArrayList<String>(); // コマンドの作成 commandLine.add( "logcat"); commandLine.add( "-d"); commandLine.add( "-v"); commandLine.add( "time"); commandLine.add( "-s"); commandLine.add( "tag:W"); Process process = Runtime.getRuntime().exec( commandLine.toArray( new String[commandLine.size()])); BufferedReader bufferedReader = new BufferedReader( new InputStream

    Android Wiki*
  • 『C++からJavaを呼び出しますぜ』

    eclipse上でc++コードをデバッグしたいという野望は現在中断。 このままだと進まないのでeclipse上でc++のコンパイルが出来たところで先に行くのです。 で、次はc++からJavaの関数の呼び出しです。 c++->Javaの呼び出しの基はこんな感じ。 c++側 jclass jc = env->FindClass("com/java/package/ClassName"); if (jc == 0) { return false; } // メソッドの取得 jmethodID id = env->GetStaticMethodID(jc, "function", "()V"); //メソッドを実行。 env->CallStaticVoidMethod(jc, id); java側 package com.java.package; public class ClassName

    『C++からJavaを呼び出しますぜ』
  • 【Android NDK】JNIEnv*の問題 - ニャッキ格闘列伝

    現在テストしているプログラムを実行していると たまに落ちることがありました。 よく調べていくとJNIEnv*の位置が変わっていました。 現在の手順としては、起動時にJNIをたたき、引数で渡されたJNIEnv*をグローバルに 保存して使いまわすという方向でやっていました。 危険だとはわかっていましたがやはりガベコレの関係か場所が変わってしまうっぽいです。 JNIEnv*がないとCからJavaを呼び出すことができないのでどうにかすれば 取得できるだろうと思いいろいろと探してみました。 通常のJNIでは、JNI_GetCreatedJavaVMs関数を使用しJavaVM*を取得し、 これのメソッドのGetEnv関数を使用するとできるらしい。 Link:JNI JavaVMメモ(Hishidama's Java native interface JVM Memo) 試してみたところ、リンク時にエラ

    【Android NDK】JNIEnv*の問題 - ニャッキ格闘列伝
  • NativeActivityからのJavaの呼び出し[Android] - 芸軌社公式ブログ

    ここ2日間くらい、AndroidでNativeActivityから自作Javaクラスのメソッドが呼び出せずに悩んでいましたが、無事解決できたのでNativeActivityのCのコードからJavaを呼び出すサンプルを載せます。 Javaクラスの作成 まずは、EclipseでAndroid NDKのサンプルからNativeActivityのプロジェクトを作ります。 Android NDKのサンプルからNativeActivityのプロジェクトを読み込み NativeActivity/srcフォルダにandroid.app.NativeActivityを継承して適当な名前のクラス(ここでは"TestJNI")を作ります。 NativeActivityを継承してクラスを作成 ここに使いたいコードを書いていきます。 // TestJNI.java package com.example.nativ

  • 【Android NDK】C側からJavaのプログラムを呼び出す - ニャッキ格闘列伝

    /** * c側からjavaを呼び出すテスト * JnitestActivity.callJniを呼び出す */ jvoid Java_test_jni_JnitestActivity_callbackJNI( JNIEnv* env, jobject thiz ) { //クラス取得 jclass jcls = (*env)->GetObjectClass( env, thiz ); //メソッド取得 jmethodID mj = (*env)->GetMethodID( env, jcls, "callJni", "()V"); //メソッド呼び出し (*env)->CallObjectMethod( env, thiz, mj ); } 1. クラス情報を取得する まずは対象となるjclassを取得する必要がある。 対象オブジェクトがあるときはGetObjectClass、 名前で指

    【Android NDK】C側からJavaのプログラムを呼び出す - ニャッキ格闘列伝
  • JNIコーディングメモ(Hishidama's Java native interface coding Memo)

    JNIのC言語/C++側のコーディング C言語とC++の違い コーディング例 JNI関数の概要 プリミティブ型・参照型(JavaオブジェクトのC/C++での扱い) String型 [/2006-11-09] 配列型 クラスの取得・インスタンス生成 [/2008-02-02] オブジェクトのメソッド呼び出し [/2008-02-07] オブジェクトのフィールド操作 ローカル参照の終了 [2006-11-09] 例外処理 [/2007-10-13] jni.hの中でC言語/C++で使える構造体 (クラス)が定義されているが、 コンパイラーがC言語の場合とC++の場合では定義のされ方が異なり、使い方も少し異なる。 JniJikken.c: JniJikken.cpp: #include "JniJikken.h" JNIEXPORT jbyteArray JNICALL Java_JniJikk

  • メソッドを呼び出す - ファイヤープロジェクト

    ネイティブコードからクラスやオブジェクトのメソッドを呼び出す. 流れ サンプル インスタンスメソッドとスタティックメソッド メソッドIDの取得とシグネチャ javap 流れメソッドを呼び出す時の流れは,フィールドの取得や設定とそんなに変わらない.以下にその流れを示す. インスタンスメソッドの場合スタティックメソッドの場合 <Type>にはメソッドの返り値の型と対応するInt,Short,Byteなどが入る. サンプル流れが掴めたところでサンプルを示す.まずはネイティブコードから呼び出されるメソッドを保持するクラス. public class Methods{ public void publicVoidMethod(){ System.out.println("publicVoidMethod()"); } static int pkgPrivateStaticIntMethod(){ i

  • Androidソースコード検索サービス - Developer Collaboration Project

    ポーティング職人さん、アプリをゴリゴリ作っている職人さんから「もっとAndroidのソースを簡単に見られるしかけがないかなー」という声がありましたので、ブラウザ上からOHA版Androidのソース一式を検索出来る検索エンジンを公開しています。 「https://search.siprop.org/」の次の文字列が対応バージョンになっています。 https://search.siprop.org/android-2.2_r1.1/ https://search.siprop.org/android-2.3_r1.0/ https://search.siprop.org/android-2.3.7_r1.0/ https://search.siprop.org/android-4.0.1_r1.0/ https://search.siprop.org/android-4.0.3_r1.0/ h

    Androidソースコード検索サービス - Developer Collaboration Project
  • Android nativeコードでファイル書き込み

    AndroidでJNIを使ってnativeコードからファイルを読み書きする方法を調べた。ファイルは /data/data/{pkgname} 以下のフォルダに読み書きすることができるらしい。読み書きはLinuxでのファイルIOと同じ関数open/read/write/closeが使える。 Javaからnativeの関数に byte[]配列を渡してそれをファイルに書き込む関数を作ってみた。以下のJavaソースをjavahで変換して対応するヘッダファイルを作成。 FileManager.java package test.filetest; public class FileManager { public native int write(byte[] data); static { System.loadLibrary("filetest"); } } test_filetest_File

  • 1