ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< November 2018 >>
ARCHIVES
CATEGORIES
FrameLayoutでの位置指定

androidでFrameLayout上に表示しているViewの位置指定で以下のロジックを書きました。

FrameLayout.LayoutParams fparam = new FrameLayout.LayoutParams(200, 150);
fparam.setMargins(100, 100, 0, 0);
target.setLayoutParams(fparam);

サイズを指定して、MarginsでX、Yの表示位置を指定しています。
スマホ端末では予定通り、setMarginsで指定した位置に表示されました。
念のためシュミレーターでタブレット表示したところsetMarginsがまったく適用されていません。。

調べたところ、FrameLayout.LayoutParamsするときは「gravity」も指定する必要があるとのこと。
今回は、「gravity」指定はしないので「Gravity.NO_GRAVITY」をセットしました。

FrameLayout.LayoutParams fparam = new FrameLayout.LayoutParams(200, 150);
fparam.setMargins(100, 100, 0, 0);
fparam.gravity = Gravity.NO_GRAVITY; 
target.setLayoutParams(fparam);

これで実行したらスマホ端末でも、タブレットでも正しく位置指定できました!
| Android | 10:18 | comments(0) | - |
eclipse4.4
eclipseを4.4にしました。

使用していた4.3が壊れかけていて、起動のたびにLoaderとかいろいろ読み込んで、
最終的にはエラーが表示されるようになっていたからです。

一応コンパイルとか開発そのものはできていたのですが
気持ち悪いので4.4をインストールすることにしました。

eclipse4.4をインストールしても動きません。
どうもJDKのバージョンが1.7以上でないといけないようです。

以下のページを参考にJDKをインストールしました。
http://ameblo.jp/kurabeat/entry-11713103139.html

インストール後


起動しました。Android SDK Managerをインストールして完了です。
プロジェクトも整理したので気持ち軽くなったような気がします。
| Android | 14:06 | comments(0) | - |
androidアプリのアイコン下テキスト(ローカライズ)
androidアプリのアイコン下テキストについてです。

アイコン下テキストはローカライズ機能を使えば、端末の言語ごとに設定できます。

以下は日本語と英語でわける場合の手順です。

1.resフォルダの下に「values-ja」を追加します。これが日本語用になります。
 次に「values」フォルダから「strings.xml」をコピーします。




2.日本語用設定のために「values-ja」の「strings.xml」に日本語名称を入力します。



3.「values」の「strings.xml」が日本語以外の設定ファイルになります。
 こちらには日本語以外のデフォルトアプリ名を入力します。

以上の手順で、日本語とそれ以外のアプリ名表示をわけることができます!

以下のように「values」フォルダを作成すればさまざまな言語に対応可能です。
res/values-en/strings.xml (英語)
res/values-fr/strings.xml (フランス語)

res/values-en-rUS/strings.xml (英語-アメリカ合衆国)
res/values-en-rGB/strings.xml (英語-イギリス)
res/values-fr-rFR/strings.xml (フランス語-フランス)
res/values-fr-rCA/strings.xml (フランス語-カナダ)

 
| Android | 10:19 | comments(0) | - |
地域支え合いアプリ
長崎県の「地域支え合い(I)CTモデル事業」の開発を弊社で行いました。

家庭のテレビに「光BOX」を接続し、
高齢者の方にも容易に利用できる地域情報ネットワークサービスをつくって
地域の「人と人とのつながり」を強めるのが目的です。

「高齢者の方にも容易に利用できる地域情報ネットワークサービス」部分が
Androidアプリになっています。
長崎県の上五島地区でこのアプリを使用していただく予定です。

「光BOX」はテレビでインターネット・動画を気軽に楽しめる機器です。
今回は、「光BOX」に開発したAndroidアプリをインストールして使用しています。

これが「光BOX」です。
この中にAndroidアプリがインストールされます。
画像


実際にテレビに接続した画面です。さまざまな地域情報が定期的に配信されます。
画像

テレビ上でAndoridアプリが動いてます!

「防災情報」のメッセージに開発担当者の苦労がうかがえます。

テレビを簡単にAndoridアプリを使えるように変えてしまう
光BOXはいろいろ使い道がありそうでおもしろいですね。
| Android | 09:24 | comments(0) | - |
AndroidでSDカードに保存
 Android端末では、ほとんどのものにSDカードが使用されています。
アプリで撮影した写真データはSDカードに保存したいものです。

そこで使用するのが「Environment.getExternalStorageDirectory()」なのですが、
このメソッドで取れる結果が確実でないことがあるようです。

通常はSDカードのパスが取得されますが
端末によっては、内臓メモリのパスが取れることがあるのです。
おそらく内臓メモリの一部をSDカードのようにマウントしているからみたいです。

スマホではSDカードのパスが取れたのですが、
タブレット端末の「ARROWS Tab F-01D」ではSDカードのパスがとれませんでした。
必ず所定の場所に写真が保存されるので機能としては問題ないのですが
内臓メモリが少ない場合はすぐに容量不足になることもあるかもしれないです。

調べたところ以下の方法で外部メモリへのパスがとれるようですが
それぞれ結果が違うようです。

Environment.getExternalStorageDirectory().toString()
System.getenv("EXTERNAL_STORAGE")
System.getenv("SECOND_VOLUME_STORAGE")
System.getenv("THIRD_VOLUME_STORAGE")

確実にSDカードへのパスをとる方法はないのでしょうか?
| Android | 09:22 | comments(0) | - |
| 1/1PAGES |