Androidアプリ開発メモ
スレッド処理
AndroidのUIに関する部分はシングルスレッドで動作することしか許されていないため、UIはシングルスレッドで動作させなければいけない。
それに違反すると
CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views
と怒られる。なので
private TextView mTextView; mActivity.runOnUiThread(new Runnable() { @Override public void run() { // mTextView.setVisibility(View.VISIBLE); } }
のように明示的にUIスレッドで処理を行うと書けば良い。
画面遷移
アプリで画面遷移を行うには、res/layout/下にsub_activity.xmlを作成し、SubActivity.java内で
public class SubActivity extends WearableActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sub_activity); } }
と記述する。また、Manifest内にもMainの
<activity android:name=".SubActivity" android:label="@string/app_name" > </activity>
を追加する。
これをMainActivityかどこか画面遷移を行いたいタイミングで
Intent intent = new Intent(getApplication(), SubActivity.class); startActivity(intent);
スレッド処理
AndroidのUIに関する部分はシングルスレッドで動作することしか許されていないため、UIはシングルスレッドで動作させなければいけない。
それに違反すると
CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views
と怒られる。なので
private TextView mTextView; mActivity.runOnUiThread(new Runnable() { @Override public void run() { // mTextView.setVisibility(View.VISIBLE); } }
のように明示的にUIスレッドで処理を行うと書けば良い。