最初大変は事実_ _!(散歩あんど花ツイート  作成過程 1)

今回はアプリ「散歩あんど花ツイート」の作成過程について書きます。

 

 実は私、ブログを書くのも人生初です。みなさんのブログを学んてor真似てながら書いてます。多めに見てもらえたら幸いです。

 

 

 最初は簡単なゲームをクリアすると鳴り止むアラームを作ろうとも思ったんですが、難しいそうからやめました。UIデザイナー深津貴之さんのブログに先ず作れそうなものを作ることは大事のようなことを書いてあったから、潔く諦めることはできました。

 

 「散歩あんど花ツイート」のアイディアは固めて、先ずツイート機能に着手しました。アンドロイド twitter つぶやき 実装でググールとTwitter4Jの記事たくさん出ました。

 

qiita.com

 

003sh.ou-net.com

などの記事を参考してTwitter4Jで実装しようとしたんですが、なかなか上手くいきません。上手くいきませんからさらにたくさんググール、そんな中Twitter公式サービスTwitter Fabficを見つかりました。

f:id:iwao7707:20151020121358p:plain

f:id:iwao7707:20151020121617p:plain

 英語の記事も参考しながら、1か月ほどかかってちゃんとログイン、ツイート、ツイットー サーチなどができるようになりました。

 

 だが、UIを調整しようとするとログインボタンはカスタマイズできないことに気づきます。

Fabricライブラリのログインボタンソースコード

<com.twitter.sdk.android.core.identity.TwitterLoginButton android:id="@+id/login_button" android:layout_width="wrap_content" android:layout_height="wrap_content" />

を書き換えようとバグになります。

以下のやり方で解決できました。

loginButton = (TwitterLoginButton) findViewById(R.id.login_button); 
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void onClick(View v) {
client.authorize(MainActivity.this, new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
String Username = result.data.getUserName();
Intent search_intent = new Intent(MainActivity.this, twitterSearch.class);
startActivity(search_intent);

}

@Override
public void failure(TwitterException e) {
Toast.makeText(MainActivity.this, "failure", Toast.LENGTH_SHORT).show();
}
});
}
});

ボタンインスタンスのところを以下のように書き換えることで上手くいきました
Button customLoginButton = (Button) findViewById(R.id.custom_twitter_login);
customLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
client.authorize(MainActivity.this, new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
String Username = result.data.getUserName();
Intent search_intent = new Intent(MainActivity.this, twitterSearch.class);
startActivity(search_intent);

}

@Override
public void failure(TwitterException e) {
Toast.makeText(MainActivity.this, "failure", Toast.LENGTH_SHORT).show();
}
});
}
});

f:id:iwao7707:20151020130906p:plain

 

 

 ちなみに下にスクロールするとツイートボタンは消えるようにしたかったんですが、時間はかかりそうなので今回はやりませんでした。

f:id:iwao7707:20151020131436p:plain