アプリ作って海外移住

コピペプログラマーのメモ

よく使うショートカット

よく使うショートカット Android Studio 備考 SearchEverywhere Shift + Shift 作業始めるときはここから。 Code Completion Ctrl + Space コード補完 Parameter Info Ctrl + P メソッドのパラメータ情報の表示 Show Intention Actions Alt + Enter 何かエラ…

GOOGLE PLAY からダウンロードしたアプリでマップが表示されない。maps api キー デバックとリリースの設定

以下の設定で、SHA1を取得し、APIキーを取得したが、公開用APKをGOOGLE PLAYからダウンロードするとマップは表示されない。 表示されない端末をUSBでandroidstudioにつなぐとエラーメッセージの中にSHA1が表示される。 それで、再度APIキー…

SHA1 取得

こんなに素晴らしい記事ありがとうございます。 こんにちは。皆様、Firebaseや他のサービスを利用するためにSHA-1をよく更新して使っているんですね? Android Studioで簡単SHA KEYを見る方法を皆さんと共有したいと思ったので今から書きたいと思います。 本…

debug release でAPIキーの自動切り替え

AndroidStudioでRelease用とDebug用のresを使い分ける AndroidStudio android レイアウト(XML) 外部APIを使うAndroidの開発しているデバッグ用のAPIキーとリリース用のAPIキーを分けてたい時がある。 いちいち手で変えてたけど、Build Variantによって使う…

ビューシャドウ

<TextView android:id="@+id/myview" ... android:elevation="2dp" android:background="@drawable/myrect" /> 背景ドローアブルが角が丸い長方形として定義されます。 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#42000000" /> </solid></shape></textview>

textview ellipsize されたか判定

Layout l = view.tv2.getLayout();int line = l.getLineCount();int hgh = l.getEllipsisCount(line-1);//ellipsizeされた行数。if(hgh>0){ view.tvbtn.setVisibility(View.VISIBLE);}else{ view.tvbtn.setVisibility(View.GONE);} ellipsizeされた行数が」0…

View.GONE のアニメーション

GONEの時、clearAnimation()しないと、アニメしない。 MainActivity.fab.clearAnimation();MainActivity.fab.setVisibility(View.GONE);回転アニメの例 RotateAnimation rotateAnimation = new RotateAnimation(0.0f, 360.0f, MainActivity.fab.getWidth…

スプラッシュ画面挿入

styles.xml <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@drawable/background_splash</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/…</item>

github からandroidstudioにダウンロード  Gradle location is incorrect

Gradle location is incorrect エラーがでたら、gradleそのものを指定する AndroidStudio の最初のメニューから、 Check out project from version control ↓ GitHubを選ぶ ↓ URLをdrop&drag ↓ CLONE ↓ YES ↓ Gradle location を設定 注意 ↓ Finish Andro…

Google Maps API key 取得  デバッグ用 リリース用 API key 取得

1 デバッグ用 API key 取得 SHA-1 フィンガープリント取得 C:\Program Files\Java\jdk1.8.0_25\bin> C:\Program Files\Java\jdk1.8.0_25\bin に移動 そこで、keytool が使える。 で keytool -list -v -keystore "C:¥Users¥mura¥.android¥debug.keystore" -al…

launchMode="standard"

Activity A まにゅフェスト launchMode="standard" Activity BからActivityAへインテント finish(); /* Intent intent = new Intent(this, MainActivity.class); intent.putExtra("sharedText", sharedText); startActivity(intent);*/ // ⑦アクティビティを…

ホームボタンが押された時終了。

たったこれだけが大発見@Override public void onUserLeaveHint(){ //ホームボタンが押された時や、他のアプリが起動した時に呼ばれる //戻るボタンが押された場合には呼ばれない finish(); // Toast.makeText(getApplicationContext(), "Good bye!" , Toast…

fragment 下のリスナーが透けて有効になる件。

////////下のリスナー無効////////////////////////全体にクリックリスナーして、無効にする。 LinearLayout lenear_all = (LinearLayout)view.findViewById(R.id.linear_all); lenear_all.setOnClickListener(new View.OnClickListener() { @Override publi…

notify使い分け       adapter.notifyItemRemoved(position); apter.notifyItemRangeChanged

//////////////////////////////////ミソ-------------------------removw時 セットで使う。 adapter.notifyItemRemoved(position); adapter.notifyItemRangeChanged(position, getItemCount()); onswaipe 時 adapter.notifyItemChanged(pos); これでアニメ…

launchMode standard singleTop にする。

あとでまとめる。 standard singleTop intent 起動で 通常が起動 そのうえにintentが起動。 だから、intent をfinish()すると通常がのこる。

PDF表示

フルパスが必要// Intentを生成Intent intent = new Intent(Intent.ACTION_VIEW);//パスを設定。String data = "file://"+path;///mnt/sdcard/document.pdf";intent.setDataAndType(Uri.parse(data), "application/pdf");// 別タスクとして実行intent.setFla…

file path から content のuri 取得するには、

Cursor c = callingActivity.getContentResolver().query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,//uri, null, // 項目(null 全項目) MediaStore.Images.ImageColumns.DATA + " = ?",// フィルタ条件(null フィルタなし) new String[]{path},// フ…

PDF googledrive から読み込み ダウンロード

public void setList3Ko(Intent data, ArrayList<Dclass_ko> list3Ko, MainActivity s_callingActivity) { callingActivity = s_callingActivity; Resources r = callingActivity.getResources(); dummyPdf = BitmapFactory.decodeResource(r, R.drawable.pdf); Uri uri</dclass_ko>…

クリックイベントにはダブルクリック防止処理が必要

view.tv_undo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!CommonUtils.isClickEvent()) return; list3Oya.get(position).set10FlgUndo("0"); adapter.notifyDataSetChanged(); } }); public class Comm…

uri

// Uri uri2 = Uri.parse(struri);

画像をダウンロードしても、ContentResolverが認識しない。 galleryに表示されない。

端末を再起動しないと更新されない。 強制的に更新。 ContentValues values = new ContentValues(); ContentResolver contentResolver = cx.getContentResolver(); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.put("_data", path)…

tesuto

動画 表示 サムナイル取得

動画表示 String path ="/storage/sdcard1/DCIM/Camera/VID_20160229_225732.3gp"; final VideoView vv1 = (VideoView)findViewById(R.id.vv1); vv1.setVideoPath(path); vv1.start();// 再生完了通知リスナー vv1.setOnCompletionListener(new MediaPlayer.…

Fragment BackKey の制御

////////////////////backkey listenner view.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // onKey 2回呼ばれるのでフィルターが必要//the first time for key down, and the s…

Fragment バックキーリスナー

////////////////////backkey listenner view.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN)…

interface

子Fragment側(イベント発生側) まず、イベントlistener を作る。 private addKeyListener listener = null; public interface addKeyListener { void onAddKeyVISIBLE(); void onAddKeyINVISIBLE(); } listener定義 //MainActivity callingActivity = (Mai…

Fragment いろいろ   終了 データ受け渡し

---1--- Fragmentの終了 finish() の事。 getFragmentManager().beginTransaction().remove(this).commit();//BackStackなし getFragmentManager().popBackStack();//BackStackあり ---2--- Activity==> Fragment Bundleを使う koFragment = new KoFragme…

Fragment 間  Arraylistのデータ受け渡し

親側 Bundle bundle = new Bundle(); bundle.putStringArrayList("results", results); bundle.putString("aaa", results.get(0)); newFragment.setArguments(bundle);// フラグメントに渡す値をセット newFragment.setTargetFragment(null, 202); newFragme…

スクロール位置の復元  Fragment 画面遷移で戻った時、スクロール位置を復元したい。

これは必要なし! クリックでFragment 画面遷移の場合 Click => onDestroyView() => 呼ばれるFragment実行 戻った時、onCreateView onResume が呼ばれる。 onCreateが呼ばれない。ここがミソ。 スクロール位置復元はSaveInstanceState を使わなくても。 …

split 文字分割

|で分割する場合 |は非正規表現なので、\\| とする。 String h = "a|b"; String sTb; sTb = h.split("\\|", -1); String h0 = sTb[0];/////////////a String h1 = sTb[1];//////////////b ,分割する場合 ,は正規表現なので、, のまま。 String h = "a,b"; S…