日ごろから、mac、Linux、Windowsで、コードを回しまくっていて、
しょっちゅう文字コードを変換するので、便利なツールないかと思っていたらあったのでメモ。
http://www.kashim.com/kanjitranslator/index.html
kashim.comさんの KanjiTranslator というのが便利でした。
Windowsのシェルでもいけるのですが、Winではコマンドプロンプトを滅多に開かないので、
ツールに頼ります。。(汗)
日ごろから、mac、Linux、Windowsで、コードを回しまくっていて、
しょっちゅう文字コードを変換するので、便利なツールないかと思っていたらあったのでメモ。
http://www.kashim.com/kanjitranslator/index.html
kashim.comさんの KanjiTranslator というのが便利でした。
Windowsのシェルでもいけるのですが、Winではコマンドプロンプトを滅多に開かないので、
ツールに頼ります。。(汗)
Androidでアプリに埋め込む配布用のSDKを作っていて、メインアプリになるべく影響ない作りにしたいと思って開発しており、ネックになった部分を整理したいのでまとめも!
(javaはじめたばっかりなので、なんでもご指摘くださいm(_ _;)m)
上記の通り、メインアプリに影響をなるべくなくすために何をしたらいいか考えたみた結果、
SDKの処理は非同期でやることにした。 (jarファイルで配布する予定)
今回はUIの操作も必要なので、方法として2点あるようだ・・・(かな?
HandlerでThreadを扱う方法とAsyncTaskを使う方法があるようで。
AndroidではUIの処理はシングルスレッドで、別タスクから処理は、そのシングルスレッドにジョブ登録するように利用する必要があるとの事。
AsyncTaskを使う場合は、メインのシングルスレッドにジョブを投げるよう意識する必要はないみたいですが。
下記記事を参考にさせていただきました!ありがとうございます!
http://pentan.info/android/app/handler.html
http://www.adamrocker.com/blog/261/what-is-the-handler-in-android.html
UIスレッド操作はメインのスレッド以外から直接操作はできないので、
Handlerを使って、メインスレッドにタスクとしてpostしてあげる。
というのが必要との事。
Handler h= new Handler(); h.post(new Runnable() { @Override public void run() { textView.setText("helloworld!"); //UI操作OK! } });
また、操作方法にはpostDelayedなどを使って一定時間ごとの処理も可能。
参考にさせていただいたサイト!ありがとうございます!
http://android.keicode.com/basics/async-asynctask.php
http://labs.techfirm.co.jp/android/cho/1079
http://wikiwiki.jp/android/?AsyncTask%A4%C7%A5%D0%A5%C3%A5%AF%A5%B0%A5%E9%A5%A6%A5%F3%A5%C9%BD%E8%CD%FD%A4%F2%B9%D4%A4%A6
new MyAsyncAppTask().execute(api_key); class MyAsyncTask extends AsyncTask<String, Integer, String[]>{ //
@Override protected void onPreExecute() { //準備処理を書く }
@Override protected void onProgressUpdate(Integer... values) { //進捗状況 }
@Override protected void onCancelled() { //キャンセル } @Override protected String[] doInBackground(String... api_key) { //処理を書く※注意ここではUI処理はしない return strArr; } @Override
protected void onPostExecute(String[] str) { //処理完了時実行、doInBackgroundの戻り値など使って処理もできる。(UI処理も) } }
・ extends AsyncTask<型, 型, 型>
1つ目の型 = excute()の引数の型
2つ目の型 = onProgressUpdateの引数の型
3つ目の型 = doInBackgroundの引数の型
・onPostExecuteの引数には「…」はいれない。
せっかく調べたので、メモ。
アンドロイドのSurfaceViewを使っていて、端末によって画面サイズが小さくなってしまっていたので、色々調べてみた。
最初は完全にjavaコードのほうを疑っていて、
setFixedSize(getWidth(),getHeight());
など色々試してみたが、実は簡単に解決できた。
マニフェストで下記のandroid:anyDensity をfalseにして解決。
<supports-screens
android:anyDensity="false"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
android:anyDensityにて解像度や密度を調整できるようです。
また、SdkVersionのバージョンによってデフォルトの設定など異なるようなのです。
下記サイト参考にさせていただきましたありがとうございます!
http://wavetalker.blog134.fc2.com/blog-entry-52.htmlhttp://d.hatena.ne.jp/Kazzz/20101127/p1
結構はまったので、メモ。
admobは日本語ドキュメントがないので、結構はまりました。
特に、admob SDKの バージョン4.3.1ではまってしまったのですが、admobの広告表示領域に、下記のようなエラーが表示されて解決できませんでした。。
"You must have AdActivity declared in AndroidManifest.xml with configChanges."
下記、googleのドキュメントを何度読んでもエラーの原因がわからず、、
http://code.google.com/intl/ja/mobile/ads/docs/android/fundamentals.html
ネット上でも、同様な記事がたくさんありましたが探したものすべてを試してみましたが、結局解決せず、さすがに妥協してバージョン4.3.1ではなく、4.0.4を入れるとあっさり動きました。。(汗
version4.0.4は上記ドキュメントのサンプルより利用しました。
そもそも、上記ドキュメントのサンプルもSDKのバージョンが4.0.4なので本当に4.3.1が動くのか検証もできませんでした。
せめて最新VerのSDKサンプルがあれば納得がいくのですが。
Android版のSDK4.3.1で、コード(XMLに記述しない方法)で書いてうまくいった方是非ご教授いただけますと幸いです!(汗汗
Androidじゃない普通のJavaをはじめてみました!
まずコマンドラインからの操作をメモ。
文字出力サンプル(HellowWorld.javaファイル)
class HelloWorld { public static void main ( String[] args) { System.out.println( "hello world" + args[0]); } }
#javac HelloWolrd.java //javacで .javaファイルをコンパイル
#java HelloWolrd HOGE //コンパイルして作られたHelloWorld.classを実行
hello worldHOGE //出力結果
外部ライブラリを使用する場合
#javac -class 外部ライブラリ名.jar Hoge.java
#java -classpath 外部ライブラリ名.jar Hoge //コンパイル時と実行時両方外部ファイルを教えてあげる必要がある。
グーグルアナリティクスでイベントという機能がありますが、一度も使った事がなかったので、
設定したメモを残します。
まずAnalyticsでイベント情報の確認は下記で確認できます。
今回は簡単なaタグを押した際にイベント情報を計測する方法を下記に記載します。
<a href="http://example.com" >test</a>
たとえば上記リンクタグをクリックした際にイベント情報を設定する例、
<a onclick="_gaq.push(['_trackEvent','カテゴリ','アクション','ラベル',100]);" href="http://example.com" >test</a>
上記のようにonclickを設定してあげるだけ。
細かい設定情報は、Google先生のこちらをご参照!
最近なってはじめて知ったのですが、
よく記事などで、一文字目が大きくしているサイトがあるのですが、
いままでPHPなどスクリプトでイジッテいるのかとおもってましたが、実はCSSだけでできた事に最近気づきました。
タイトル・・・
上記のようにしたい場合。
.title:first-letter{
font-size:20px;
background-color:#eeeeee;
}
:first-letterと追記すれば一文字目だけのCSSを指定することができます。
上記例では、class=”title” の一文字目を背景グレーのフォントサイズ20pxにしています。
ネットワーク環境が変更なる際に注意しておきたいところメモ!
192.168.*.*など内部ネットワーク変更時に、IPは変更ないからそのままと思っているを危ない目に!IPの紐付けにもMACアドレスを利用していて、ARPを意識する必要がある。
とくにFreeBSDなど、OSによってルータなどのMACアドレスが変わると、
うまく疎通ができなくなる現象があるので、注意が必要!
PHPでたまに変数名を動的に扱い場合があるのが、
よく忘れるのでメモ!
$hoge = 'foo'; //今回表示する変数を作成 $a = 'ge'; //変数名の一部を作るための変数 echo ${'ho'.$a}; //hoという文字列に$aの内容で変数名を指定し、echo