アプリ内のファイルを確認する。Android Studio2.2でDDMSを開く方法備忘録

DDMSの開く方法

画面上部のメニューから

Tools -> Android -> Android Device Monitor

参考:http://stackoverflow.com/questions/39761453/no-shortcut-for-ddms-in-android-studio-2-2

ありがとうございます!!

Android2.2にアップデートしてから、
DDMSの見方がわからくなってしまってので忘れないようにメモ。。

zxingでQRコードを使っていて、AndroidOS6だけカメラ起動時にエラーがでる点解決方法

zxingでQRコードを読み取るアプリを作っていたのですが、
特定の端末だけカメラ起動時に、

「Androidのカメラに問題が発生しました。デバイスを再起動する必要があります。」

なんじゃこりゃ。。

色々検証してみるとAndroidOS6 (マシュマロ)だけの問題なような、。。

logcatで確認してみると、、


Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference

こういうエラーが。。zxingライブラリの中身でエラー履いてて、
どうしようも。。

でズバリ解決方法は、
ライブラリアップデート!!!

build.gradle(app)


dependencies { 〜 compile 'com.journeyapps:zxing-android-embedded:3.3.0' 〜 }

3.2から3.3にしたら解決w

あと、androidOS6からか、、カメラの扱う許可ダイアログが表示された。。

参考サイト:
http://stackoverflow.com/questions/37685141/nullpointerexception-with-zxing-library-for-qr-scanning-android-app
https://github.com/journeyapps/zxing-android-embedded

Android ImageViewをシルエット化、色々

android シルエット 透過具合調整

黒で塗りつぶし


ImageView.setColorFilter(Color.BLACK,PorterDuff.Mode.SRC_ATOP);

こんな感じに普通のシルエットができます。

android シルエット
android シルエット

透過具合を指定して、塗りつぶし


ImageView.setColorFilter(R.color.my_color_silhouette,PorterDuff.Mode.SRC_ATOP);

R.color.my_color_silhouetteのxmlファイルも一応

colors.xml


<color name="my_color_silhouette">#ee000000</color>

今度はこんな感じ

android シルエットうっすら黒くなるだけ
android シルエットうっすら黒くなるだけ

↑ これだと思うように透過されません。alphaをffにしても透過された状態になる。。

下記のようにparseColorで透過具合を指定すると。


ImageView.setColorFilter(Color.parseColor("#ee000000"),PorterDuff.Mode.SRC_ATOP);
android シルエット 透過具合調整
android シルエット 透過具合調整

無事イメージどおりの透過具合になりました!

Android Studioで、ImageViewの上にTextViewを重ねて文字を中央に表示する

android java 画像にテキスト中央載せ

xmlので下記画像のように画像の上にテキストを中央配置する方法

android java 画像にテキスト中央載せ
android java 画像にテキスト中央載せ

<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <!--背景画像--> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="left" android:id="@+id/hukidasi_image" app:srcCompat="@drawable/ic_haikeigazou" /> <!--中央に載せるテキスト画像--> <TextView android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAlignment="center" android:gravity="center" android:text="中央画像" /> </RelativeLayout>

ポイントは、

  • ImageViewとTextViewをRelativeLayoutで囲う
  • TextViewのandroid:layout_centerInParent=”true”にする

AndroidのFragmentタブ画像をxmlのImageViewで指定

android fragment タブ カスタマイズ リサイズ
android fragment タブ カスタマイズ リサイズ
android fragment タブ カスタマイズ リサイズ

androidのfragmentでタブ画像をカスタマイズした時のメモ。

MainActivity.java


TabLayout mTabLayout = (TabLayout) findViewById(R.id.tab_layout); mTabLayout.setupWithViewPager(viewPager); mTabLayout.getTabAt(0).setText("").setCustomView(android.R.layout.tab_image_view_1); mTabLayout.getTabAt(1).setText("").setCustomView(android.R.layout.tab_image_view_2);

setCustomViewでレイアウトのxmlファイルを指定するのがポイント。

レイアウトは下記

res/layout/tab_image_view.xml


<ImageView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="80dp" android:scaleType="centerInside" android:src="@drawable/hoge_image" />

hoge_imageが表示した画像ファイル

Unityで、”Error building Player because scripts had compiler errors”とでたら

Unityを使っていて、ビルド時にいきなりみたことないエラーが表示されたので、
それを解決した際のメモ。

Unityでiosでビルド時に、下記のようなエラーでてビルドできなくなった。
“Error building Player because scripts had compiler errors”

しらべてみたところ、UnityEngineをoverrideしているところで、
エラーになっているようで、対象のUnityEngineを使っているソースを、

通常のScriptsフォルダから、Editorフォルダに移動したら解決した。

ググっても同じような解決策の人がいなかったので、
念のためメモ。

「cocos2d-x 3.5」 と 「cocos studio 2.2」の開発環境構築。

cocosインストール

http://www.cocos2d-x.org/download

こちらcocosというランタイム?をインストール。
またcocos studio2.2をインストール。
起動時のメニューにて、storeというのがあるので、
そこからcocos2d-x 3.5をダウンロードし、インストール。

初期セットアップ

$python setup.py 
$source ~/.bash_profile

テンプレートプロジェクトを作成 (ios&android)

$cocos new MyGame -p com.example.hoge -l cpp -d ~/project_folder/hoge_cocos2dx

iOSで開発

$cd ~/project_folder/hoge_cocos2dx/
のxcodeファイルを開けば、iosの確認が可能。

アンドロイドで開発(IDEつかわずに直接端末つないでadbのパターン)

$cd proj.android/
$python build_native.py 

android端末にインストール

$cd ~/project_folder/hoge_cocos2dx/MyGame/proj.android/bin/
$adb install MyGame-debug.apk

Google Play Developer Consoleのベータ、アルファの機能を触ってみた

先日からGoogle Playのdeveloper consoleにて、ベータ版、アルファ版のメニューが追加されており、気になったので触ってみましたw

この機能で、指定のグループGoogle+のコミュニティのメンバーのみに、alpha版やbeta版のアプリをインストールしていただくことができる!w

手順は簡単!

まず、アプリを選択し、apkのアップロード画面で、ベータ版、もしくはアルファ版を選択!
(キャプチャではアルファ版を試しました。)

alpha版
まずアルファ版にしたいapkファイルをアップロード。その後、タグの少ししたにある「テスターのリストを管理」をクリック。

すると下記画面が表示されます。
テスターのグーグルグループ、またはGoogle+のコミュニティURLを求められるので、それを追加。

テスターの管理

すると、

テストに許可していただく用urlが表示されるのでこれをテスト対象のアカウントでアクセスすると。。。!

googleplayテスター

 

テスターになるという画面がでるので、「テスターになる」をクリックすると、
アルファ版のダウンロードが可能になります!!

知合いなどにテスターとしてチェックしていただく場合に、だいぶ便利なるかと思います!

少し間あけるとどんどんgoogle playが進化している今後も動向に注意w

 

追記:

ダウンロード時にアルファ版かどうか確認する方法について、
僕は、アルファ版用バージョンにしてアルファ版か製品版か判別してます。

 

確認方法
確認方法

※テスターになるWEB画面とGoogle PlayアプリのGoogleアカウントが同じゃないと、
テスター用のアプリはダウンロードできないみたいです。

 

 

Android ListView内のボタンイベントの取得 シンプル!メモ

AndroidのListViewのレイアウトの使い方にとまどうこの頃w

AndroidでListViewレイアウトをつくっていてハマったのでメモします。

ListView内にButtonなどを設置してそのイベントと押したitemの番号を取得したい場合に簡単な方法を検証してて見つけ

たので忘れないうちにストックします。

@Override public View getView(int position, View view, ViewGroup viewGroup) { 
ーーー 
Button deleteBtn = (Button) view.findViewById(R.id.deleteBtn); 
deleteBtn.setTag(position); 
ーーー 
}

次に上記Buttonのレイアウト用にxmlにonCLickを追加

<Button 
android:id="@+id/deleteBtn" 
android:onClick="deleteGo" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:focusable="false" 
android:text="delete" />

あとはメソッドでpostionを取得してやりくします!

public void deleteGo(View view) {
 Log.v("yorosiku!",view.getTag()); 
}

だいぶシンプルになったと思います、この方法がわかるまで色々見まわりましたが、
難しかったのでこれぐらいシンプルだと初心者でもすぐに使えるかと思います。