2013年4月4日木曜日

画質を落とさない無音カメラ

群馬の桜
2013桜の写真
カメラサイレンサ―のレビューを頂きありがとうございます。
EVO以外でも無音化出来る端末がいくつか報告がありました。
特に海外の方からは高い評価を頂いております。
しかしながら、まだまだ端末ごとの動作は安定しておりません。
ANDROID端末はハードもソフトも端末ごとに異なるため
全ての端末での動作を保証することは不可能かもしれません。
カメラではなくサイレンサ―だという事も制御を難しくしています。
かといっても、カメラの作成までは手が回らない現状です。

カメラサイレンサ―は画質を落とさない無音カメラです。
ダウンロードはこちら
https://play.google.com/store/apps/details?id=recitative.jpas&feature=search_result#?t=W251bGwsMSwxLDEsInJlY2l0YXRpdmUuanBhcyJd

//動作確認端末
HTC EVO 4G EX-mode 静音 Android2.3
HTC EVO WImax EX-mode 静音 Android2.3(ほぼ音はならない
HTC EVO 3D Z-mode 無音 Android4.0
root化無しで最高画質の撮影を無音にできる数少ないアプリです。
レストランでの料理の撮影や、寝ている子供の撮影に使用してください。
//動作している可能性が高い端末※報告が無いが使用されている
Lenovo A60 plus
HTC J ISW13HT
//動作報告端末
ARROWS Z ISW11F EX 静音
crane-pub X 無音
DIGNO ISW11K EX 静音
Kyocera Hydro C5170 ?

2013年4月3日水曜日

ボタンから背景色を変更するサンプルコード

クリックするごとにランダムで背景色を変更するサンプルです。
APILEVEL10から使用可能です。
背景色の指定はLinearLayoutに限りません


/**
 * 背景色の変更
 */
private Random mRan = new Random();

public void changeViewColor() {
    // 各レイアウトなど部品を指定
    final LinearLayout layout = (LinearLayout) this.findViewById(R.id.linearLayout);
    //ffで透過率を指定 ※後ろに背景がある場合
    layout.setBackgroundColor(0xff000000 | mRan.nextInt(0xffffff));
}



2013年4月1日月曜日

CSVファイルを読み込むサンプルコード

CSV形式のファイルをArraylistに取り込むサンプルコード



    private ArrayList<String>[] clist;//ここにデータを格納

//引数はファイル名、列数
public  ArrayList<String>[] CSV(String pass,int youso) {
       try {
         int count =0;
        clist = new ArrayList[youso];
                               //初期化
        while(count<youso){
        clist[count] =new ArrayList<String>();
        count++;
        }
         InputStream fin=null;

         fin= ActivityActivity.class.getResourceAsStream(pass);

         BufferedReader br = new BufferedReader(new InputStreamReader(fin));
         // 最終行まで読み込む
         String line = "";
         while ((line = br.readLine()) != null) {

           // 1行をデータの要素に分割
           StringTokenizer st = new StringTokenizer(line, ",");
                                int i=0;
           while (st.hasMoreTokens()) {
             // 1行の各要素をタブ区切りで表示
             String tmp= st.nextToken();
            clist[i].add(tmp);
            i++;
           }
          }
         br.close();

       } catch (FileNotFoundException e) {
         // Fileオブジェクト生成時の例外捕捉
         e.printStackTrace();
       } catch (IOException e) {
         // BufferedReaderオブジェクトのクローズ時の例外捕捉
         e.printStackTrace();
       }
return clist;
                 
    }

StringTokenizerを変える事でカンマ区切り以外にも変更できる。

Admob広告の実装サンプルコード

一番単純なAdmob広告の実装方法。
デバッグ指定もできるが、特別な動きさせないなら気にする必要はない。
任意のレイアウトを指定する事で広告の表示位置を調整できる。

onCreate{


        adView = new AdView(this, AdSize.BANNER,"固有識別コード");

    //広告の挿入するレイアウトを指定
        LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

        // adView を追加
        layout.addView(adView);

        // 広告の表示を開始
        adView.loadAd(new AdRequest());


}

onDestroy{
       adView.destroy();
}

マニュフェストファイル

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>



その他の設定
libsにmobadのjarファイルを入れる
ビルドターゲットはAPI15以上にする※API14以下のプログラムであっても
proguardの警告を無視する

Project.proparties

# Project target.
target=android-15
proguard.config=proguard.cfg


proguard.cfg
-dontwarn com.google.ads.**
サンプルコード

シングルトンでデータ共有するサンプルコード


一つの資源を複数のクラスで使用するためのデザインパターンで
データを管理しやすくする

public class ComonClass {  
  
    private static ComonClass instance = new ComonClass();  
    private ComonClass(){}  

    public int i=0;//共有するデータをパブリックする

    public static ComonClass getInstance() {  
        return instance;  
    }  
            
}

/*各クラスでインポートして使用する

import パッケージ名.ComonClass;
 *使用する際にインスタンスを得る※NEWしない 
ComonClass objUser = ComonClass.getInstance(); 
 */


ライセンス認証の際にも使用することで不正対策にも応用できる

class MyLicenseCheckerCallback implements LicenseCheckerCallback {
        public void allow() {
ComonClass objUser = ComonClass.getInstance(); 
objUser.認証済み=OK

サンプルコード






起動時に描画、画面遷移をするにはサンプルコード

起動時に描画や画面遷移を行うには
onStartが終了後に動作させる必要があります。



@Override
protected void onStart() {
super.onStart();
auto();
}



private Handler handler= new Handler();
private void auto(){
handler.removeCallbacks(CallbackTimer);
handler.postDelayed(CallbackTimer, 100);//ミリ秒後にRUNを起動

}
 private Runnable CallbackTimer = new Runnable() {
        public void run() {
         //此処に命令を書く
        }
 };


背景を透明にするサンプルコード

マニュフェストファイルのテーマを Translucentにする事で画面を透明にできる。


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent" >


もしくは、レイアウトファイルのバックカラーを指定で透明にすることができます。

    android:background="#00000000">

左二桁が透明度です。