【Android】画面遷移とインテント
Androidアプリの画面遷移方法。
インテントの種類
以下、サンプルです。
初期画面(FirstActivity)と遷移後の画面(SecondActivity)を用意し、初期画面にはボタン(button)を配置しています。
そして、ボタンを押すと画面遷移します。
基本的な手順は同じでExplicitかImplicitの違いは自分で用意した画面に遷移するか、指定した処理に対する画面(アプリ)をOSに選択させるかのようです。
Explicit Intents
package dederin.explicitintents; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); setContentView(R.layout.activity_first); Button button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ // 明示的なインテント Intent intent = new Intent(FirstActivity.this, SecondActivity.class); startActivity(intent); } }); } }
Implicit Intents
package dederin.implicitintents; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.net.Uri; public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); Button button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Uri uri = Uri.parse("http://www.google.co.jp"); // 暗黙的なインテント // Android OSがURIを開くためのブラウザアプリを自動選択する Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } }); } }
【Android】Buttonイベント
ボタンをクリックした際のイベントで処理を行うサンプル。
画面にあるボタンを押すと…
テキストエリアに文章を表示します。
サンプルのソースコード。
画面レイアウトにTextView(id:textview)とButton(id:button)を貼り付けて下さい。
package dederin.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private Button button; private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView)this.findViewById(R.id.textview); button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ text.setText("Hello, Android World!"); } }); } }
【Android】Android Studioのインストール
Android Studioのインストールとそれに伴う環境構築の覚書。
Android Studio 2.1.2のシステム要件は以下の通りです。(2016/7/16時点のWindows端末の要件)
- Windows 7/8/10 (32bit または 64bit)
- 最小メモリ 2GB, 必要メモリ 8GB
- 最小空き容量 2GB, 必要空き容量 4GB
- 画面解像度 1280x800以上
- Java Development Kit (JDK) 8
【導入手順】
- JDKの入手
- JDKのインストール
- JDKのパスを環境変数に追加
- Android Studioのインストール
- Android Studioの起動(ここで追加ダウンロードがあります)
- SDKマネージャの実行
- 必要なSDKをインストール(既に使用したいバージョンがインストールされている場合は不要)
以上、ご参考まで。
【動画エンコード】QSVの画質毎の設定
【動画エンコード】QSVをいろんな設定で試してみました - ででりんブログの続きです。
QSVの設定をQP I, P, B frameに絞って色々変えて試行してみました。
【元動画】
- 15秒
- 29fps
- 1920x1080
- 170MB
最高画質 | 高画質 | 中画質 | 低画質 | 最低画質1 | 最低画質2 | 最低画質3 | 最低画質4 | |
---|---|---|---|---|---|---|---|---|
QP I frame | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32 |
QP P frame | 20 | 22 | 24 | 26 | 28 | 30 | 32 | 34 |
QP B frame | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36 |
変換後容量 | 33.2MB | 23.5MB | 16.7MB | 12.6MB | 9.5MB | 7.25MB | 5.82MB | 4.62MB |
先人たちの情報を元にしていますが、高画質や中画質といった基準は私見ですのでご参考までに。
Xperiaアップデート後の問題
前回「au Xperia Z5 SOV32 Android 6.0アップデート」の後に起こったXperiaアップデートによる不具合です。ピンポイントの情報がなかったので覚書。
【問題】
STAMINAモードを有効にすると「乗換案内Plus for au」が起動できなくなる
【原因】
STAMINAモードが原因でアプリ「au Market」の通信が阻害され、ライセンス認証が通らない
【対策】
「設定」→「バッテリー」→「電池の最適化」から「au Market」を最適化しないアプリに追加する