Suche senden
Hochladen
OSC2011 Androidハンズオン
•
Als ODP, PDF herunterladen
•
1 gefällt mir
•
925 views
Katsumi Honda
Folgen
オープンソースカンファレンス2011大分のハンズオンセッションの資料です。シンプルなAndroid用Twitterクライアントを作ります
Weniger lesen
Mehr lesen
Weiterbildung und Persönlichkeitsentwicklung
Technologie
Melden
Teilen
Melden
Teilen
1 von 60
Jetzt herunterladen
Empfohlen
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
Android test tutorial
Android test tutorial
Kazuaki Ueda
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回
Yukiko Kato
I phoneアプリ入門 第3回
I phoneアプリ入門 第3回
Sachiko Kajishima
WordPress widget api
WordPress widget api
Takami Kazuya
Halastjörnur og uppruni vatns á jörðinni
Halastjörnur og uppruni vatns á jörðinni
Stjörnufræðivefurinn
Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発
Katsumi Honda
激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみた
Katsumi Honda
Empfohlen
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
Android test tutorial
Android test tutorial
Kazuaki Ueda
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回
Yukiko Kato
I phoneアプリ入門 第3回
I phoneアプリ入門 第3回
Sachiko Kajishima
WordPress widget api
WordPress widget api
Takami Kazuya
Halastjörnur og uppruni vatns á jörðinni
Halastjörnur og uppruni vatns á jörðinni
Stjörnufræðivefurinn
Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発
Katsumi Honda
激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみた
Katsumi Honda
はじめてのAndroid開発
はじめてのAndroid開発
Katsumi Honda
Android Wear Apps
Android Wear Apps
Teruaki Kinoshita
はじめてのAndroid in 高知
はじめてのAndroid in 高知
hiro nemu
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
Itsuki Kuroda
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
Masafumi Terazono
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
Takashi EGAWA
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Shinichi Hirauchi
Titanium Mobile
Titanium Mobile
Naoya Ito
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Masafumi Terazono
Android Hacks - 合宿インテント
Android Hacks - 合宿インテント
Masanori Ohkawara
GDG DevFest 2020 Android data linkage info
GDG DevFest 2020 Android data linkage info
tsutomuhayakawa
Windows storeアプリ brekky
Windows storeアプリ brekky
Satoshi Sekine
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)
Akihiro Iwaya
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Ryuichi Nonaka
Ionicアプリのデータ管理
Ionicアプリのデータ管理
Katsumi Honda
Angularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととか
Katsumi Honda
Weitere ähnliche Inhalte
Ähnlich wie OSC2011 Androidハンズオン
はじめてのAndroid開発
はじめてのAndroid開発
Katsumi Honda
Android Wear Apps
Android Wear Apps
Teruaki Kinoshita
はじめてのAndroid in 高知
はじめてのAndroid in 高知
hiro nemu
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
Itsuki Kuroda
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
Masafumi Terazono
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
Takashi EGAWA
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Shinichi Hirauchi
Titanium Mobile
Titanium Mobile
Naoya Ito
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Masafumi Terazono
Android Hacks - 合宿インテント
Android Hacks - 合宿インテント
Masanori Ohkawara
GDG DevFest 2020 Android data linkage info
GDG DevFest 2020 Android data linkage info
tsutomuhayakawa
Windows storeアプリ brekky
Windows storeアプリ brekky
Satoshi Sekine
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)
Akihiro Iwaya
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Ryuichi Nonaka
Ähnlich wie OSC2011 Androidハンズオン
(20)
はじめてのAndroid開発
はじめてのAndroid開発
Android Wear Apps
Android Wear Apps
はじめてのAndroid in 高知
はじめてのAndroid in 高知
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Titanium Mobile
Titanium Mobile
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Android Hacks - 合宿インテント
Android Hacks - 合宿インテント
GDG DevFest 2020 Android data linkage info
GDG DevFest 2020 Android data linkage info
Windows storeアプリ brekky
Windows storeアプリ brekky
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Slug 3-windows phone7helloworld-classmethod-ryuichi-nonaka
Mehr von Katsumi Honda
Ionicアプリのデータ管理
Ionicアプリのデータ管理
Katsumi Honda
Angularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととか
Katsumi Honda
1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) Ionicのススメ
Katsumi Honda
Meteor intro-2015-rev1- 日本語バージョン
Meteor intro-2015-rev1- 日本語バージョン
Katsumi Honda
はじめてのMeteor
はじめてのMeteor
Katsumi Honda
ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会
Katsumi Honda
イマドキのWebアプリの作り方
イマドキのWebアプリの作り方
Katsumi Honda
はじめてのPython
はじめてのPython
Katsumi Honda
はじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for Mac
Katsumi Honda
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for Windows
Katsumi Honda
冬だからAndroid再入門
冬だからAndroid再入門
Katsumi Honda
Osc2012 appinventor のその後
Osc2012 appinventor のその後
Katsumi Honda
秋だからEclipse再入門
秋だからEclipse再入門
Katsumi Honda
夏だからJava再入門
夏だからJava再入門
Katsumi Honda
雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組み
Katsumi Honda
Mehr von Katsumi Honda
(15)
Ionicアプリのデータ管理
Ionicアプリのデータ管理
Angularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととか
1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) Ionicのススメ
Meteor intro-2015-rev1- 日本語バージョン
Meteor intro-2015-rev1- 日本語バージョン
はじめてのMeteor
はじめてのMeteor
ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会
イマドキのWebアプリの作り方
イマドキのWebアプリの作り方
はじめてのPython
はじめてのPython
はじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for Windows
冬だからAndroid再入門
冬だからAndroid再入門
Osc2012 appinventor のその後
Osc2012 appinventor のその後
秋だからEclipse再入門
秋だからEclipse再入門
夏だからJava再入門
夏だからJava再入門
雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組み
OSC2011 Androidハンズオン
1.
Android アプリを作ってみよう 2011年3月19日
日本Androidの会 大分支部 この資料は http://goo.gl/mqLhB からダウンロードすることができます
2.
3.
HelloWorldの作成
4.
日本Androidの会の紹介
5.
Androidアプリの開発について
6.
ハンズオンで作るアプリについて
7.
機能を細かく分けて作ってみる
8.
Twitterアプリの作成
9.
10.
メニューから[Window] -> [Android
SDK and AVD Manager]を選択
11.
12.
Target: Android
1.6 - API Lebel 4
13.
SD Card -
Size : 10MiB
14.
Skin - Built-in
: HVGA
15.
16.
MENUボタン -> 開いたメニューからSettings
17.
Locale & text
を選択
18.
Select localeを選択
19.
Japaneseを選択
20.
21.
さっそくですが HelloWorld を作りましょう
22.
23.
Build Target :
Android 1.6
24.
Application name :
こんにちは Android ( 任意 )
25.
Package name :
osc11ot.android.hello
26.
Create Activity :
HelloActivity
27.
28.
メニューから Run ->
Run
29.
Android Application を選択してOKをクリック
30.
動きました?
31.
日本Androidの会の紹介 http://www.android-group.jp/
32.
日本Androidの会 大分支部について http://www.facebook.com/android.oita
33.
入会方法はMLに登録するだけ!? 日本 Android
の会 http://groups.google.com/group/android-group-japan http://goo.gl/HGn56 大分支部 http://groups.google.com/group/android-group-japan-oita http://goo.gl/B8BK5
34.
Androidアプリの開発について http://goo.gl/91RNS http://goo.gl/rRXEC
ANDROID developersに最新の情報が載っています。 一部日本語に訳されていますが、情報が古かったりするのでご注意ください。 ひとまず、開発ガイドの「Androidの基本」には目を通しておいたほうがいい感じです。 「ソフトウェア技術ドキュメントを勝手に翻訳」さんで勝手に日本語訳をしてくれていたりします。
35.
36.
タイムラインの表示 Twitter との連携部分には、
Twitter4J というライブラリを使用します。 Twitter4J を使用することで API の詳細を気にせずにアプリを作ることが出来ます。
37.
38.
タイムラインの表示:タイムラインを取得して一覧表示
39.
一覧画面と入力画面の画面遷移
40.
サーバとのやりとり: Twitter API
の使用 まずは、それぞれの機能に必要な要素に分けて、プログラムを作ってみましょう。
41.
テキスト入力とボタン ツイートする機能を作るのに必要な、テキスト入力とボタンを扱うプログラムを作成します。 ボタンを押すと入力内容をダイアログに表示させます。
42.
プロジェクトの作成 eclipse を起動
メニューから [File] - [New] - [Project..] を選択 「 Android Project 」を選択して [Next >]
43.
44.
Application name :
入力サンプル
45.
Package name :
osc11ot.android.inputsample
46.
Create Activity :
InputActivity
47.
Min SDK Version
: 4
48.
49.
[Form Widgets]のEditTextを画面にドラッグ&ドロップ
50.
[Form Widgets]のButtonを画面にドラッグ&ドロップ
51.
こんな感じ
52.
53.
右クリック->[Edit Text...]
54.
[New String]をクリック
55.
String :
こんにちは
56.
New R.string. :
greeting
57.
[OK]をクリック
58.
一覧に[greeting]が追加されているので、選択して[OK]をクリック
59.
60.
[Edit ID...]を選択
61.
IDを入力してOKをクリック id :
editText1
62.
63.
64.
onCreateメソッドを以下のようにコードを追記 public
void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. main ); final EditText editText = (EditText) findViewById(R.id. editText1 ); Button button = (Button) findViewById(R.id. button1 ); button.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder( InputActivity. this ); builder.setMessage(editText.getText()); builder.create().show(); } }); }
65.
66.
戻るボタンやキーボードの[ESC]でダイアログが閉じます
67.
日本語の入力はエディットテキストを長押し
68.
入力方法 -> Japanese
IME を選択
69.
リスト表示 タイムラインを表示するのに必要なリスト表示を行うプログラムを作ります。 ボタンを押すと、リストに現在時刻を追加します。
70.
プロジェクトの作成 eclipse を起動
メニューから [File] - [New] - [Project..] を選択 「 Android Project 」を選択して [Next >]
71.
72.
Application name :
一覧表示
73.
Package name :
osc11ot.android.listviewsample
74.
Create Activity :
ListActivity
75.
Min SDK Version
: 4
76.
77.
[Form Widgets]のButtonを画面にドラッグ&ドロップ
78.
[Composite]のListViewを画面のドラッグ&ドロップ
79.
こんな感じ
80.
81.
右クリック->[Edit Text...]
82.
[New String]をクリック
83.
String :
追加
84.
New R.string. :
add
85.
[OK]をクリック
86.
一覧に[add]が追加されているので、選択して[OK]をクリック
87.
88.
[Edit ID...]を選択
89.
IDを入力してOKをクリック id :
button1
90.
91.
92.
メンバ変数を定義 public
class ListActivity extends Activity { private ArrayList<String> arrayList ; private ArrayAdapter<String> arrayAdapter ;
93.
94.
95.
96.
たくさん追加してリストが長くなってもスムーズにスクロールします。
97.
画面遷移 Androidアプリケーションの画面遷移はアクティビティの切替によって行われます。 アクティビティの切替にはインテントを使用します。
一覧画面と入力画面を用意して、入力画面で入力した内容を一覧画面に追加します。
98.
99.
Application name :
インテントのサンプル
100.
Package name :
osc11ot.android.intentsample
101.
Create Activity :
MainActivity
102.
Min SDK Version
: 4
103.
104.
ButtonとListViewにIDを設定します。 複数のボタンを使用するので分り易いIDにしておきます。 ButtonのID
: showInputButton ListViewのID : listView1
105.
ボタンのテキストを適当に設定します。
106.
107.
File :
input What type of... : Layout
108.
109.
ButtonとEditTextにIDを設定します。 ButtonのID :
addButton ButtonのID : cancelButton EditTextのID : editText
110.
ボタンのテキストを適当に設定します。
111.
addButton : 追加
cancelButton : キャンセル 酷い画面ですが気にせずに続けます
112.
113.
Superclass :
android.app.Activity
114.
Interfaces :
android.view.View.OnClickListener
115.
プログラムの実装 public
class InputActivity extends Activity implements OnClickListener { private Button addButton ; private Button cancelButton ; private EditText editText ; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. input ); addButton = (Button) findViewById(R.id. addButton ); cancelButton = (Button) findViewById(R.id. cancelButton ); editText = (EditText) findViewById(R.id. editText1 ); addButton .setOnClickListener( this ); cancelButton .setOnClickListener( this ); }
116.
プログラムの実装 @Override public
void onClick(View view) { if (view == addButton ) { Intent intent = new Intent(); intent.putExtra( "text" , editText .getText()); setResult( RESULT_OK , intent); finish(); } else if (view == cancelButton ) { setResult( RESULT_CANCELED ); finish(); } }
117.
118.
メンバ変数を定義 public
class MainActivity extends Activity { private ArrayList<String> arrayList ; private ArrayAdapter<String> arrayAdapter ;
119.
120.
121.
122.
AndroidManifest.xml に Activity
を登録しないといけません
123.
<? xml
version = "1.0" encoding = "utf-8" ?> < manifest xmlns:android = "http://schemas.android.com/apk/res/android" package = "osc11ot.android.intentsample" android:versionCode = "1" android:versionName = "1.0" > < uses-sdk android:minSdkVersion = "4" /> < application android:icon = "@drawable/icon" android:label = "@string/app_name" > < activity android:name = ".MainActivity" android:label = "@string/app_name" > < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > </ activity > < activity android:name = "InputActivity" /> </ application > </ manifest >
124.
Twitterアプリの作成 最後に Twitter
アプリを作ります。 ログインとツイートとタイムラインの表示だけ行えます
125.
Twitterアカウントの確認 動作確認に Twitter
アカウントが必要になります。 Twitter アカウントを持っていない人や、開発用に別のアカウントを用意したい人は、アカウントを作成してください。 アカウント作るのが面倒な人は、共用のアカウントを使用してください。 ID : oitand_handson パスワード : osc11othandson
126.
127.
128.
Java Build Pathを選択
129.
130.
131.
ButtonのID :
loginButton ButtonのID : showInputButton ButtonのID : reloadButton ListViewのID : listView1
132.
ボタンのテキストを適当に設定します。 こんな感じ、これまた酷い!!けど、一先ず続けます
133.
134.
File :
input What type of... : Layout
135.
136.
ButtonとEditTextにIDを設定します。 ButtonのID :
addButton ButtonのID : cancelButton EditTextのID : editText
137.
ボタンのテキストを適当に設定します。
138.
addButton :
追加 cancelButton : キャンセル
139.
140.
141.
ログイン Twitter ではログインに
OAuth という仕組みを使っています。 ちょっと面倒なので、一先ず何も気にせずに MainActivity にコードをコピペしてください。
142.
ログイン public
class MainActivity extends Activity { private static final String CONSUMER_KEY = "yKpNTNfzgBArazXD4YYqQ" ; private static final String CONSUMER_SERCRET = "UOq30kqYI8jWhMO06Jzufbo0B8s9S6hBUXK1GvT2Ayo" ; private static final String CALLBACK_URL = "osc11ot://oauthcallback" ; private static final String PREF_TOKEN = "token" ; private static final String PREF_SECRET = "tokenSecret" ; private static final String TAG = "osc11ot" ; private Twitter twitter ; private RequestToken requestToken ; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. main ); AccessToken token = loadAccessToken(); if (token != null ) { twitter = new TwitterFactory().getInstance(); twitter .setOAuthConsumer( CONSUMER_KEY , CONSUMER_SERCRET ); twitter .setOAuthAccessToken(token); } }
143.
protected
void doOAuthLogin() { try { twitter = new TwitterFactory().getInstance(); twitter .setOAuthConsumer( CONSUMER_KEY , CONSUMER_SERCRET ); requestToken = twitter .getOAuthRequestToken( CALLBACK_URL ); String url = requestToken .getAuthorizationURL(); startActivity( new Intent(Intent. ACTION_VIEW , Uri. parse (url))); } catch (Exception e) { Log. e ( TAG , "login error" , e); } } @Override protected void onNewIntent(Intent intent) { super .onNewIntent(intent); Uri uri = intent.getData(); if (uri != null && uri.toString().startsWith( CALLBACK_URL )) { String verifier = uri.getQueryParameter( "oauth_verifier" ); try { AccessToken token = twitter .getOAuthAccessToken( requestToken , verifier); saveAccessToken(token); Toast. makeText ( this , "OAuth に成功しました " , Toast. LENGTH_SHORT ).show(); } catch (TwitterException e) { Log. e ( TAG , "login error" , e); } } }
144.
private
void saveAccessToken(AccessToken token) { SharedPreferences pref = getSharedPreferences( PREF_TOKEN , MODE_PRIVATE ); SharedPreferences.Editor editor = pref.edit(); editor.putString( PREF_TOKEN , token.getToken()); editor.putString( PREF_TOKEN , token.getTokenSecret()); editor.commit(); } private AccessToken loadAccessToken() { AccessToken result = null ; SharedPreferences pref = getSharedPreferences( PREF_TOKEN , MODE_PRIVATE ); String token = pref.getString( PREF_TOKEN , null ); String secret = pref.getString( PREF_SECRET , null ); if (token != null && secret != null ) { result = new AccessToken(token, secret); } return result; } }
145.
ログイン ログインするときは doOAuthLogin
メソッドを 呼んでもらえれば OK!
146.
AndroidManifest.xmlの設定 InputActivity を追加。
MainActivity の intent-filter を追加します。 <? xml version = "1.0" encoding = "utf-8" ?> < manifest xmlns:android = "http://schemas.android.com/apk/res/android" package = "osc11ot.android.twittersample" android:versionCode = "1" android:versionName = "1.0" > < uses-sdk android:minSdkVersion = "4" /> < uses-permission android:name = "android.permission.INTERNET" /> < application android:icon = "@drawable/icon" android:label = "@string/app_name" > < activity android:name = ".MainActivity" android:label = "@string/app_name" android:launchMode = "singleTask" > < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > < intent-filter > < action android:name = "android.intent.action.VIEW" /> < category android:name = "android.intent.category.DEFAULT" /> < category android:name = "android.intent.category.BROWSABLE" /> < data android:scheme = "osc11ot" android:host = "oauthcallback" /> </ intent-filter > </ activity > < activity android:name = ".InputActivity" /> </ application > </ manifest >
147.
ツイート! twitter .updateStatus(String)
で新しくツイートします エラー発生時に、例外が起きるので以下のような例外処理を行います。 try { twitter .updateStatus(tweet); } catch (TwitterException e) { Log. w ( TAG , "error" , e); Toast. makeText ( this , “ 新しいツイートに失敗しました” , Toast. LENGTH_LONG ); }
148.
タイムラインの表示 twitter .getFriendsTimeline()
で最新のタイムラインが取得できます。 twitter4j.Status の List で返ってきます (List<Status>) Status#getUser() でユーザオブジェクトが取得できます。 User#getName() でユーザ名が取得できます。 Status#getText() でツイート内容が取得できます。 Status#getCreatedAt() でツイートした時刻が取得できます。 こんな感じで、リストに追加する文字列を生成できます。 String. format ( "%s: %s %tF %tT" , status.getUser() .getName(), status.getText(), status.getCreatedAt(), status.getCreatedAt())
149.
残りの部分をやってみよう! 時間が余った人は、 酷いレイアウトを改善してみてください
:- )
Jetzt herunterladen