2017年8月18日金曜日

プライバシーポリシー

Androidアプリでプライバシーポリシーの表記が必要との事で、ブログにプライバシーポリシーを明記しておきます。
なお、今現在、私Mochiが作成したAndroidアプリは個人情報の取得を行っておりません。

2017年8月17日木曜日

Androidアプリ開発@AndroidStudioでAdMob広告実装

Android Studioで開発中のアプリにAdMob広告を実装するログです。

■ 1. Google Repositoryのインストール

a) SDK Manager起動
 Tools > Android > SDK ManagerでSDK Managerを起動します。

b) Google Repositoryのインストール
 SDK Managerの「Android SDK」>「SDK Tools」タブで表示されるリスト内の「Support Repository」>「Google Repository」が「Installed」になっている事を確認します。
 私の場合は既に入ってました。入っていない場合はチェックを付けてインストールします。

■ 2. build.gradleの設定

build.gradle(Module: app)の「dependencies」内に下記行を追加します。
 (私の場合は既に設定されていました。)


■ 3. 広告用権限の設定

広告を有効にする為に、インターネットのアクセス権限を付加する必要があります。
 AndroidManifest.xmlのmanifestタグ内に下記コードを追加します。

 ついでに、applicationタグ内に下記コードを追加します。



■ 4. レイアウトの設定

広告のレイアウト設定を行います。
広告タグをactivity_main.xmlなどのレイアウトxmlに追加します。


■ 5. 広告表示コード実装

実際に広告を読み込んだりするには下記コードを実装します。


いじょ~

Androidアプリ開発@カメラのフラッシュライト制御

夜暗い時に懐中電灯みたいに携帯で明かりを付けたい時ありますよね。私はいつもカメラを起動して、フラッシュをONにしてそれをやっていました。
しかし、フラッシュONにするまでの操作が多くてヤキモキするし、すぐ消えるしでなかなか不便だったので、フラッシュON/OFFを手軽にできるアプリを作ろうと思い立ったわけです。
そんなわけで、カメラのフラッシュライト制御についてのログです。

  1. 必要な権限
  2. カメラのオープン
  3. カメラのクローズ
  4. フラッシュON
  5. フラッシュOFF

2017年8月16日水曜日

BLOG@twitterに画像付きのリンクをツイートする

画像付きのリンクをツイートは、下のような感じ。


ブログを書く時に下記のHTMLコードを潜り込ませる事が出来たら、いけるようです。
潜り込ませる場所は、「続きを読む」で表示される部分に入れる事。
でないと、トップページのリンクでその記事の画像が出ちゃいます。

タグ配置はbodyタグ内でもtwitterさんは読んでくれるみていです。

家庭菜園@万能ネギ[2017年08~]

2017年8月~の万能ネギの記録。続くかな?

[2017/08/16]

ほったらかしにしてた万能ねぎプランターの耕しと種まき。
大分痩せてしまってたので、水と米ぬかを大量投入。もうちょっと土入れたいけど、土が無い。

2017年8月15日火曜日

Androidアプリ開発@Android Studio 2.3.3.0インストール

夏季休暇で1本Androidアプリを作る為に、Android Studio 2.3.3.0をインストールしたので、そのログです。
  1. 概要
  2. ダウンロード
  3. インストール

2017年6月12日月曜日

OS@小さいELFファイルを作ってみる。

■はじめに

私の自作カーネル(Qiitaの紹介記事参照。http://qiita.com/master_mochi/items/431b3b11410a0eed8f4e)にELFローダを実装したのですが、ELFローダをお試しするにはELFファイルを外部記憶装置からメモリに配置しておく必要があります。
ELFファイルを読み込むには、ブートローダにちょっとしたファイルシステムの機能を入れたり、ブートローダからカーネルへ配置情報を渡す機能を入れたりと、たいぶ先が長い道のりとなります。

でも、それはめんどくさいし、もっと手っ取り早く試したい。

というわけで、小っちゃいELFファイルを作って、カーネルに変数として埋め込んでしまおうと企んだわけです。

■コードを用意する

ELFローダを試すといっても、ちゃんとロードされる事だけじゃなくちゃんとプログラムが動く事までを試したいので、無駄に数をカウントアップして画面に表示するプログラムを作って、これをELFファイルにします。

あと、リンカスクリプトも用意しときます。

■単純にコンパイルしてみる

とりあえず、そのままコンパイルしてみます。
サイズを見てみると、
5.2KB!でかい。

■頑張って小さくしてみる

とりあえず、下記コマンドでコンパイルしてみました。サイズ優先の最適化を行うオプション-Osは、悪さしたら嫌なので今回は使いません。
0.6KBくらい減った!
オプション-staticは、共有 ライブラリとのリンクを抑制する様です。がよくわかりません。readelfで確認すると、セクション名.eh_frame_hdrが消えて、セグメント名GNU_EH_FRAMEが消えました。
オプション-fno-identは、#identディレクティブを無視する様です。がよくわかりません。readelfで確認すると、セクション名.commentが消えてました。
オプション-Wl,-sは全てのシンボル情報を削除します。
オプション-Wl,--build-id=noneは、.note.gnu.build-idセクションを削除。ビルドIDはビルドした時に付けられる固有識別番号で、gdbとかで使われたりするのかな?

とはいえ、まだ4.6KB…
readelfで確認してみます。
セクション名.eh_frameは、デバッグ用なのでいりません。オプション-fno-asynchronous-unwind-tablesで消せるようです。
もう一度、readelf。
ん~。セクション名.textがファイルオフセット0x1000から配置されてしまっている為、ELFファイルが4KBを超えてしまっている様です。
これはLDコマンドオプションの--nmagicで詰めれるようです。
もう一度、readelf。
564byteになりました!
GNU_STACKセグメントがいらないけど、まぁいいでしょう。