2013年03月11日

【Android】久しぶりにAndroidアプリった。

201302-03でやったキーワード

久しぶりにAndroidアプリった。こんなに真剣にやったのはたぶん1年ぶりぐらい。 ググったら日本語の情報がわんさか出てきたことに感動。 ということで、基本的にはググればわかるので、ここでは今回やったキーワードだけ残しておくメモです。

トグルボタンを使うには?

android.widget.ToggleButton

OnCheckedChangeListener をimplementsして、以下のonCheckedChangedをoverride

// OnCheckedChangeListenerをimplementした時に実装が必要なメソッド
// トグルボタン用
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (isChecked){
        //ON
    } else{
        //OFF
    }
}

プリファレンスは?

android.content.SharedPreferences
android.preference.PreferenceActivity

音声認識させるには?

標準ダイアログが出る

android.speech.RecognizerIntent

標準ダイアログを出さない

android.speech.SpeechRecognizer

※以下のパーミッションが必要

   <uses-permission android:name="android.permission.RECORD_AUDIO"/>

※ダイアログは出ないが、ピコっていう音はなる。

一定間隔で処理するには?

java.util.Timer
java.util.TimerTask

ウィジェットを実装するには?

android.appwidget.AppWidgetManager を継承したクラス(ここでWidgetProvider)を作成
onUpdateでServiceを継承したクラス(ここではWidgetService)をstartService

このとき、マニフェストファイルにこんな感じ書いとく

<receiver>
    android:name=".WidgetProvider"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/widget_provider" />
</receiver>
<service android:name=".WidgetService" >
    <intent-filter>
        <action android:name="com.example.myproject.HOGEHOGE"/>
    </intent-filter>
</service>

サービスタグの <action android:name="com.example.myproject.HOGEHOGE"/> は、ウィジェットに対してクリックイベントを取りたいときに必要。 作成中の自分のプロジェクト(myproject)の中で自分でHOGEHOGEを定義しておき、「HOGEHOGEになったら、ある処理をする」という具合に実装する。

画像を繰り返すには?

android:tileMode="repeat"

最後に

上記をキーワードにググれば分かるはず。と自分に言い残してみる。 参考にしたURLをメモってれば良かったけど、まぁいっか。

タグ:android
posted by やし at 12:16 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2013年01月06日

docomo WiFiの設定内容確認方法

docomo Wi-Fiを使おうと思ってdocomo Wi-FiユーザIDとdocomo Wi-Fiパスワードを確認しよう思って探してたら、分かりにくすぎてイライラしたので、メモった。

spモードメールアプリを起動

メール設定

その他

Wi-Fiオプション利用設定→Wi-Fiメール設定

認証画面で、spモードパスワード(数字4桁)を入力

Wi-Fi設定画面に行くが、ここで一番下にある「<各種設定」をタップする

「spモード各種設定」画面に行くので、「docomo Wi-Fi設定」をタップする

「>確認」をタップ

認証画面で、spモードパスワード(数字4桁)を入力

確認画面で下記の項目を確認することができる

  • docomo Wi-FiユーザID
  • docomo Wi-Fiパスワード
  • SSID
  • WEPキー

dメニューと書いてあったので、dメニューからいこうしたけど、深すぎて余計分からなかったorz

タグ:spモード
posted by やし at 18:04 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2012年05月01日

Galaxy Note(SC-05D)を購入したよ。

Galaxy Noteの写真集

遅ればせながら、Galaxy Note(SC-05D)を購入したので写真撮影v

GalaxyNote箱の表
Galaxy Note 箱の表
GalaxyNote箱の裏
Galaxy Note 箱の裏
GalaxyNote箱の側面
Galaxy Note 箱の側面
GalaxyNote表1
Galaxy Note 表1
GalaxyNote表2
Galaxy Note 表2
GalaxyNote裏
Galaxy Note 裏
GalaxyNote付属品
Galaxy Note 付属品

動画も少し撮影。Galaxy Sの起動より”S”になるまでがなめらかな印象。

次の動画は、カバーをかけたときどんな感じかの動画

次は、ペンを使ったらどんな感じかの動画

気になる値段

以下は、2012/4/30にLABI三宮店で、ソフトバンクの携帯からドコモに乗り換えたときの値段になります。

解約金
ソフトバンク携帯(DesireU)の解約金:25455円
内訳:現時点で1年6ヶ月で今解約すると、機種代金の残りが2580円×6ヶ月、それに解約金9975円をプラスして25455円。
(基本料金(980円)が入ってないのは、もちろん解約するから、基本料金はかからない。)

機種代金
Galaxy Noteの機種代金:66360円
MNP乗り換え割引:ー35000円※1
Docomoポイント:ー6825円 (6500ポイント*1.05(諸費税?※2))
合計:24535円

毎月の支払
基本料金:780円タイプXi にねん)※3
パケット:2100円Xiパケホーダイダブル
月々サポートー4095円(2年間で98280円割引)
合計:ー1215円

つまり、初期投資:25455円(解約金)+24535円(機種代)=49990円で毎月の支払0円(ちょっとだけ通話もできる!)。なんかめっちゃ得した気分。

おわりに

最後に、解約しなかったら、現状2580円(分割の機種代)と980円(基本料金) で合計 3560 円を毎月支払うことになる。 解約金を払わず使わない携帯をもったまま基本料金を払い続けるか、解約金を払ってこれから使うであろう携帯にMNPするかは、”今”を考えるともったいない気もしたけど、今後のことを考えると、使う携帯にお金を払ったほうが価値があると考えた。(普通?)

※1:LABI三宮店では、4/30に行ったときは「25000円」と書いていた。実は先週(4/22)行ったときは「30000円」だったので、1週間で5000円も下がって購入を迷っていたけど、店員さんに「先週30000円割引だったんですよね〜」って言ったら、タイムセールで30000円になっていたとのこと。最高35000円割引までなっていたらしいのです。それを聞いてさらにどうしようか迷ったけど、まぁ買っちゃえということで、手続きに入ってしばらくしたら、店員さんが「割引35000円まで行けるそうです」と教えてくれた。僕はこれで35000円まで割り引いてくれたけど、他にMNPした人はどうなんだろう。25000円割引のままだったのか少々気になるところ。もし、LABI三宮でMNPする場合は、言ってみるといいかもしれない。

※2:この1.05って消費税?割引が増える方向だからラッキーと思って聞くの忘れた。。。

※3:このタイプXi にねんにして、2年以内に解約する場合は、解約金9975円がかかる。解約金がかからないタイプXiという1560円/月のプランもあるが、これにすると毎月の基本料金がタイプXi にねんの780円/月のプランの2倍になり、さらにMNP割引(35000円)を付けることができなくなるとのこと。解約時に解約金を払わないといけないというなんというか気持ち的に微妙だが、月々が安くなってMNP割引もあるなら、780円/月を選ばない手はない。気持ち的には25025円割引(35000円-9975円)で解約金なしと考えればまぁいいか。

posted by やし at 12:52 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2012年03月03日

WebAPIの使い方を勉強しました。

夜子ままさんのスライドを参考にWebAPIを使ってJSONを取得し、解析してLogに表示するというのをやってみました。(ほとんどスライドの写経です) 違いは、スライドの例はGoogleMaps APIを使用していますが、Google+APIを使うようにしただけです。

ソースはgithubにあげました。

posted by やし at 20:19 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2012年02月29日

ABC2012 Spring 開催

Android Bazaar Conference 2012 Springが3/24(土)に東京大学で開催されます。

abc2012s

GDDのスタッフが面白かったので、ABCもスタッフとして参加しますので、よろしくお願いします。

2月のエントリー、これだけになりそう。。。

posted by やし at 00:16 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2011年11月26日

Ubuntu 11.10 on VMware でICSビルド時のエラーと対策メモ

新しくVMwareをインストールして、Ubuntu11.10 日本語Remix CDイメージをダウンロードして、これを見ながらICSのビルド環境を構築して、makeしたときにエラーが出たのでエラーの内容と対策をメモります。

最初に出たエラー

エラー内容
host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp :0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] :0:0: note: this is the location of the previous definition cc1plus: all warnings being treated as errors make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1
原因
ブランチandroid-4.0.1_r1をダウンロードしたから。
詳しくはこちら→ http://code.google.com/p/android/issues/detail?id=20795
対策
masterブランチをダウンロードした。 たしかに、core/combo/HOST_linux-x86.mkが
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
のように修正されてた。これだとうまくいくらしい。
参考
http://e-xiao.blogspot.com/2011/10/resolve-build-errors-for-android-234.html

次に出たエラー

エラー内容
host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb) host Executable: atree (out/host/linux-x86/obj/EXECUTABLES/atree_intermediates/atree) host Executable: bb2sym (out/host/linux-x86/obj/EXECUTABLES/bb2sym_intermediates/bb2sym) host Executable: bb_dump (out/host/linux-x86/obj/EXECUTABLES/bb_dump_intermediates/bb_dump) /usr/bin/ld: cannot find -lncurses collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1 make: *** Waiting for unfinished jobs.... true true true
対策
libncurses5-devをインストールした。
$ sudo apt-get install libncurses5-dev
はじめに http://source.android.com/source/initializing.html の「Installing required packages」のタイミングで、入れ忘れてただけ。

最後に出たエラー

エラー内容
Install: out/host/linux-x86/bin/llvm-link out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMCodeGen_intermediates/libLLVMCodeGen.a: file not recognized: File truncated collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc] Error 1 make: *** Waiting for unfinished jobs.... out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMCodeGen_intermediates/libLLVMCodeGen.a: file not recognized: File truncated collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1 elapsed seconds: 175 wrote generated Main_*.java files to out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/main_files
対策
はじめからする。 具体的には、 Mydroid>rm -Rf * いったん全削除して、 repo init -u http://android.googlesource.com/platform/manifest して、 repo sync して、 make -j4 。
参考
https://groups.google.com/group/android-building/browse_thread/thread/cae10abd771f2415?hl=en#
Nov 22 4:45 amのRANDYRKELLYさんの投稿に対しての、Nov 22,5:05 am のConley Owensさんの投稿
タグ:ICS
posted by やし at 08:57 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2011年10月11日

Open Handset AllianceのFAQを訳してみた。

Open Handset Allianceが何をしているのかよく分からず、調べているとFAQのページがあったので訳してみました。

続きを読む
タグ:OHA
posted by やし at 23:45 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2011年09月14日

GDD 2011 DevQuiz Androidの問題のメモ

GDD 2011 のDevQuizに初めてチャレンジしました。 スライドパズルは・・・ですが、AndroidのAIDLの問題は解けたのでそれについて書きたいと思います。

問題の概要

以下のAIDLで定義されているサービスを持つAndroid アプリケーションを配布します。 プログラム作って解答コードを取得してね。

package com.google.android.apps.gddquiz;

interface IQuizService {
  String getCode();
}

※AIDL(Android Interface Definition Language)とは、IDLの一種で、プロセス間通信行うためのものです。

準備

Androidプロジェクトを作成する。このとき、パッケージ名は配布アプリケーションと一緒じゃないといけない。 IQuizService.aidl ファイルをsrcに作成し、上のコードをコピペ。

配布されたAndroidアプリケーションを実機でも、エミュレータでもいいからインストールしたら、 メールアドレスとパスワードを入れる欄があったので、入力する。 メールアドレスはGDD 2011に登録したアドレスで、パスワードは問題文に書いてありました。

これで準備は完了。後はプログラム書くだけ。

方針は、

  1. アクティビティでボタンを押す→自分のサービスにバインド→配布アプリケーションと通信
  2. LogCatに答えを出す

以上

Activity

package com.google.android.apps.gddquiz;
// import は省略
public class MainActivity Extends Activity {

    TextView mTextView;
    Button mButton;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mTextView = (TextView)findViewById(R.id.hello);
        mButton = (Button)findViewById(R.id.startservice);
        // ボタンにリスナーを設定
        mButton.setOnClickListener(new startClickListener());        
    }

    // リスナー
    public class startClickListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            // bindService()をコール
            serviceConnect();
        }
    }

    public void serviceConnect(){
        // public abstract boolean bindService (Intent service, ServiceConnection conn, int flags)
        bindService(new Intent(com.google.android.apps.gddquiz.IQuizService.class.getName()), // Intent
                    conn, // ServiceConnection
                    BIND_AUTO_CREATE); // int:automatically create the service as long as the binding exists. 
    }

    // 以下はServiceにバインドするとき、バインドして何がしたいのかの設定

    IQuizService mQuizService;
    Boolean mStartedService=false;

    private ServiceConnection conn = new ServiceConnection() {

        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            Log.d("ServiceConnection","onServiceConnected Start");
            mQuizService = com.google.android.apps.gddquiz.IQuizService.Stub.asInterface(service);
            mStartedService = true;
		
            getStringInQuizService();
	}

        @Override
        public void onServiceDisconnected(ComponentName name) {
            mQuizService = null;
            mStartedService = false;
        }
    };
	
    public void getStringInQuizService(){
        super.onResume();
        if( mQuizService != null ){
            try {
                String ans = mQuizService.getCode().toString();
                mTextView.setText((String)ans);
                Log.d("AnsCode",ans); // 答えをLogCatに出力
                //Toast.makeText(this, ans, Toast.LENGTH_LONG).show(); // 先にToast表示したけど、コピペできないじゃん。。。
            } catch (RemoteException e) {
	    }
        }
    }
}

Service

bindService()で自分のサービスにバインドし、そこから配布されたアプリケーションにアクセスする。Class名にTestが付いてるけど、気にしない。

package com.google.android.apps.gddquiz;
//import は省略
public class TestService extends Service {
	private final ITestService.Stub mITestServiceBinder = new ITestService.Stub(){
		@Override
		public void stopService() throws RemoteException {
		}
	};
	
	@Override
	public void onCreate() {
		super.onCreate();
		// Toastを表示する
		Toast.makeText(this, "Service start", Toast.LENGTH_SHORT).show();
	}

	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}
}

マニフェスト

serviceタグを記述する。



    

    
        
            
                
                
            
        
        
          
            
            >
        

    

以上です。AIDL自体は知識としては知っていたけど、初めて使ったなぁ。

タグ:AIDL service
posted by やし at 01:07 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2011年08月15日

ACE勉強会で、Serviceの概要を発表した。

日本Androidの会 神戸支部で、「Androidアプリケーション技術者認定試験ベーシック対策実践問題集」をみんなで読んで勉強しようという勉強会(ACE勉強会)が毎週開催されているのですが(2011/08/10で6回目)、5回目のときにServiceはマルチスレッドか?という疑問が出たので、6回目までにServiceについて誰かまとめてきてーということだったので、手を上げてまとめた資料です。まとめたといっても、Developerサイトを訳しただけですが、それでも、疑問に対する回答はできると思ったので、まぁいいかなと。

あくまでも概要なので、雰囲気だけでもつかんで頂けたら幸いです。発表時にスレッドのところなど突っ込まれました。もうちょうっと細かく見ないといけませんね。

あ、結果的には質問した方の疑問には応えられなかったので、また次回ということになりました。なので、発表としては失敗ですね。もっと勉強しないと。

タグ:service android
posted by やし at 19:00 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

2011年07月29日

Android Bazaar and Conference 2011 Summer #abc2011s に参加してきました。

2011/07/17(日)に、Android Bazaar and Conference 2011 Summerに参加してきました。

abc2011s_750x250.jpg

■ABC当日

場所は東京の早稲田大学、僕の生息地は神戸。 行きました。飛行機で。

朝7:20神戸空港発の飛行機で6:50ぐらいに神戸空港つきました。ギリギリ。 ABCは10時からなので、10時前には到着の予定でした。 でもそれは、東京行き慣れた人の話で、 僕は羽田からの電車の切符を買うのに10分ぐらいかかってしまい、もうアウト。

会場では、カンファレンスバザールがありました。

あと先に書いておくと、いっぱい写真を載せたいですけど、基本的に顔が写っているので写ってない写真をのせています。 それと、問題ないと思われる写真を掲載していますが、何か問題がありましたら、削除しますのでご連絡ください。

続きを読む
posted by やし at 17:48 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。