だけど、携帯を使ってて、別に仕事で使いたいとは思わないけど新しい携帯を買うんだったら
スマートフォンにしたいよねっていう女子の為に
お気楽・お気軽・お手軽! でも、三倍楽しいスマフォライフ
を提供したいとなんの指針もなく急遽スマフォ講座をしました。
内容は
スマートフォンって
- 電話ができる
- メールができる
- パソコンのまねが出来る
- インターネットができる
- 暇つぶしも出来る
- 友達も出来る
- ブログも出来る
- 自分色に出来る
Ustreamで録画して置いたので興味のある方、見てください。
public class GoogleMapTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String mapurl = "geo:38.230844,140.323316"; //←ここの書き方で動作が微妙に変わる! Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity"); intent.setData(Uri.parse(mapurl)); startActivity(intent); } }ここで、mapurlの部分の書き方によりいろんなパターンが指定できます。
package com.sample.Application; import android.app.Activity; import android.os.Bundle; import com.sample.library.SampleLibrary; public class SampleApplicationActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SampleLibrary sampleLibraryClass = new SampleLibrary(); sampleLibraryClass.test(); //SampleLibraryのtest()メソッドを実行 } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sample.library" android:versionCode="1" android:versionName="1.0"> </manifest>
public class MainActivity extends Activity { private Stack<View> childView; /********************************************************* * Application実行時の最初のイベント。 * 最初の画面を作成し、WindowListのTopに設定する。 * * @see android.app.Activity#onCreate(android.os.Bundle) *********************************************************/ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); childView = new Stack<View>(); childView.clear(); // 最初のViewを表示 pushContentView(R.layout.user_first_view); } /********************************************************* * 戻るボタンが押されたイベント処理。 * * @see android.app.Activity#onBackPressed() *********************************************************/ @Override public void onBackPressed() { if(!popContentView()) { // 取り除く前のViewがない場合は、 //本来のBackPressed(=finish())を実行(必須ではない) super.onBackPressed(); } } /********************************************************* * 子Viewを追加する。 * * @param view 追加する子View *********************************************************/ public void pushContentView(View view) { childView.push(view); super.setContentView(childView.peek()); } /********************************************************* * 子Viewを追加する * * @param resid 追加する子のリソースID *********************************************************/ public void pushContentView(int resid) { // 最初の子Viewを作成 LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); View view = (View)inflater.inflate(resid, null); childView.push(view); super.setContentView(childView.peek()); } /********************************************************* * 子tViewを取り除く * * @return true 取り除き成功 / false 取り除けなかった *********************************************************/ public boolean popContentView() { if(childView.size() > 1) { // ViewStackに前の画面がある場合はPop childView.pop(); //最上位のViewをsetContentView()する。 setContentView(childView.peek()); return true; } return false; } }
public class UserFirstView extends LinearLayout { /********************************************************* * コンストラクタ(LinearLayout) * *********************************************************/ public UserFirstView(final Context context, AttributeSet attrs) { super(context, attrs); } /********************************************************* * Inflaterを使ってViewを実体化する場合は * onFinishInflate()以降で findViewByIdをする。 * * @see android.view.View#onFinishInflate() *********************************************************/ @Override protected void onFinishInflate() { //Buttonの処理を追加 Button buttonNext = (Button)findViewById(R.id.buttonNext); buttonNext.setOnClickListener(new OnClickListener() { /********************************************************* * ボタンがクリックされた * →次の画面に遷移する * * @see android.view.View.OnClickListener#onClick(android.view.View) *********************************************************/ @Override public void onClick(View v) { MainActivity mainActivity = (MainActivity)getContext(); // 次のViewを表示 mainActivity.pushContentView(R.layout.user_next_view); } }); super.onFinishInflate(); } }
public class UserNextView extends LinearLayout { /********************************************************* * コンストラクタ(LinearLayout) * *********************************************************/ public UserNextView(final Context context, AttributeSet attrs) { super(context, attrs); } /********************************************************* * Inflaterを使ってViewを実体化する場合は * onFinishInflate()以降で findViewByIdをする。 * * @see android.view.View#onFinishInflate() *********************************************************/ @Override protected void onFinishInflate() { //Buttonの処理を追加 Button buttonNext = (Button)findViewById(R.id.buttonPrev); buttonNext.setOnClickListener(new OnClickListener() { /********************************************************* * ボタンがクリックされた * →前の画面に遷移することもできる * * @see android.view.View.OnClickListener#onClick(android.view.View) *********************************************************/ @Override public void onClick(View v) { MainActivity mainActivity = (MainActivity)getContext(); // 前のViewを表示 mainActivity.popContentView(); } }); super.onFinishInflate(); } }
<?xml version="1.0" encoding="utf-8"?> <com.sample.UserFirstView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="FirstView"> </TextView> <Button android:id="@+id/buttonNext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Next"> </Button> </com.sample.UserFirstView>