「Androidアプリ」カテゴリーアーカイブ

Android application

Androidアプリを初めて作る

・初歩からスタートするAndroidアプリ開発 Javaの初心者がAndroidアプリを作るには定番のHello Worldを表示させることから始めます。その後、改造を加えて直線と円を描くアプリケーションに挑戦します。 開発環境を整え、以下の手順を踏みます。プロジェクト名にはCanvasSampleを用います。8月初旬に掲載された「Androidアプリ開発環境の構築」の記事もご覧ください。 Javaの文法等はとりあえず置いておいて、サンプルコードを実行させて体験を積み、自信を深め最後には複雑なアプリケーションの開発に到達できるように考えています。 1)ECLIPSEのプロジェクト新規作成画面を呼び出す ファイル-新規-プロジェクト-Androidアプリケーション・プロジェクト-次へ 上記の操作でプロジェクト新規作成画面が呼び出されるので、所定のパラメータを以下のように入力します。アプリケーション名にふさわしい名前を付けます。CanvasSampleとします。Packege Name接頭部としてcom.exampleはふさわしくないとのアドバイスを受け、com.userに変更します。 Application NameとPackege Nameを入力しBuild SDKの設定後の画面を以下に示します。 2)新規ブランク・アクティビティを作成する Activity NameにCanvasSampleを指定します。 3)アイコンを設定する ロボットのようなデフォルトのアイコンでよい場合はすぐに次へを指定しますが、クリップアートからアイコンを選択します。デジタルカメラで撮った写真をアイコンにする場合はイメージを選択してファイルを指定します。 クリップアートの中から今回は星印を選びます。 4)生成されたプロジェクトをビルドしてエラーがないことを確かめて実行する パソコンと実機をUSBケーブルでつないで実機上での実行結果を以下に示します。開発ツールが生成した諸ファイルにはいっさい手を加えていません。次にCanvasオブジェクトを追加して直線と円を描いてみます。 5)Canvasオブジェクトによる描画用に改造する WorkSpace\CanvasSample\src\com.user.canvassample\CanvasSample.javaを次のように改造します。ソースコードをコピー&ペーストしても行番号は付きません。

package com.user.canvassample;   // Top of source-code.

import android.app.Activity;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.view.View;

// MainClass
public class CanvasSample extends Activity {
/** Called when the activity is first created. **/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// make instance of ViewClass.
MyCircleView view = new MyCircleView(getApplication());
// set View.
setContentView(view);
}
}

// display class
class MyCircleView extends View {
// initialize View
public MyCircleView(Context context) {
super(context);
setFocusable(true);
}

// actualy,method of display.
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// set back-color.
canvas.drawColor(Color.WHITE);
// make display-object.
Paint paint = new Paint();
paint.setAntiAlias(true);
// display circle
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLUE);
canvas.drawCircle(300, 250, 100, paint);// circle
// display lines.
paint.setColor(Color.BLACK); // black line
canvas.drawLine(0, 0, 50, 50, paint); // line-1

paint.setColor(Color.RED); // red line
paint.setStrokeWidth(5);
float[] pts = {50, 50, 100, 100};
canvas.drawLines(pts, paint); // line-2

paint.setColor(Color.GREEN); // blue line
paint.setStrokeWidth(10);
float[] pts2 = {100, 100, 150, 150};
canvas.drawLines(pts2, paint); // line-3
}
6)CanvasSample.javaを修正してビルドし実行する CanvasSample.javaの他は変更を加えません。冗長な部分(Hello world!などのストリングデータは不要)には目をつむります。 7)プロジェクト全体をZIPにして添付する CanvasSample.javaは5)における修正を加える前のソースファイルにしてあります。6)の実行結果を得るには、5)Canvasオブジェクトによる描画用に改造するのソースコードに切り替えてリビルドしてください。 CanvasSample プロジェクトすべてのファイルを添付します。 8)ファイル一覧
C:.
│  .classpath
│  .project
│  AndroidManifest.xml
│  ic_launcher-web.png
│  proguard-project.txt
│  project.properties
│  TREE.TXT
│  
├─bin
│  │  AndroidManifest.xml
│  │  CanvasSample.apk
│  │  classes.dex
│  │  jarlist.cache
│  │  resources.ap_
│  │  
│  ├─classes
│  │  └─com
│  │      └─user
│  │          └─canvassample
│  │                  BuildConfig.class
│  │                  CanvasSample.class
│  │                  MyCircleView.class
│  │                  R$attr.class
│  │                  R$drawable.class
│  │                  R$id.class
│  │                  R$layout.class
│  │                  R$menu.class
│  │                  R$string.class
│  │                  R$style.class
│  │                  R.class
│  │                  
│  └─res
│      ├─drawable-hdpi
│      │      ic_action_search.png
│      │      ic_launcher.png
│      │      
│      ├─drawable-ldpi
│      │      ic_launcher.png
│      │      
│      ├─drawable-mdpi
│      │      ic_action_search.png
│      │      ic_launcher.png
│      │      
│      └─drawable-xhdpi
│              ic_action_search.png
│              ic_launcher.png
│              
├─gen
│  └─com
│      └─user
│          └─canvassample
│                  BuildConfig.java
│                  R.java
│                  
├─libs
│      android-support-v4.jar
│      
├─res
│  ├─drawable-hdpi
│  │      ic_action_search.png
│  │      ic_launcher.png
│  │      
│  ├─drawable-ldpi
│  │      ic_launcher.png
│  │      
│  ├─drawable-mdpi
│  │      ic_action_search.png
│  │      ic_launcher.png
│  │      
│  ├─drawable-xhdpi
│  │      ic_action_search.png
│  │      ic_launcher.png
│  │      
│  ├─layout
│  │      activity_canvas_sample.xml
│  │      
│  ├─menu
│  │      activity_canvas_sample.xml
│  │      
│  └─values
│          strings.xml
│          styles.xml
│          
└─src
    └─com
        └─user
            └─canvassample
                    CanvasSample.java
9)補足説明 今回は大きな流れを示すにとどまり、細かな手順やエラーが起きた時の対処法については次回以降になります。図形を描くにはCanvasクラスを用いることを覚えましょう。

Android開発環境の確認と登録

これからAndroidアプリの開発について触れていきます。「あみだくじ」ゲームアプリをGoogle Playに25ドルを払って11月1日に登録し受け付けられました。なかなか公開されませんでしたが手続きに誤りがありました。Googleから注文受付のメールを以下に示します。保存、公開のあと1時間ほどで公開の実効が現れました。Google Playストアから無料でダウンロードできます。 手をこまねいていてはどんどん日が過ぎていくので、今回、使用した開発環境を確認します。8月3日「Androidアプリ開発環境の構築」の記事に追加してあります。そちらもご覧いただけるとありがたいです。 Androidを学ぶにあたり様々な方法があります。ここではCなどのプログラミングの心得が多少なりとも持っていると想定して進めていきます。不明な用語は丁寧に解説しているサイトをご覧いただいてサンプルコードをふんだんに用いコードと実行結果を重視したいと考えています。当初は簡単なサンプルから開始しますが、プロジェクトのすべてを公開します。 JAVAについて何の知識もなく学び始めた経験から、ソースコードのみの公開では不足する情報が多く、コンパイルエラーをなくすことができずそのプロジェクトを断念したことがしばしばでした。周辺知識が豊富になるとすべての公開はあまりにも冗長になり、無駄になると考えJAVA熟達者の多くはソースコードだけの公開になっているようです。プロジェクトのフォルダで重要なものは、gen、res、srcフォルダと考えています。

手作り遊具・竹トンボ

かつて戸外で遊ぶと言えば、身近な生活品を手作りして遊んだものです。竹トンボ、水鉄砲、ゴム銃などなんでも手作りしました。今では部品を調達するよりも完成品を買った方が安い場合が多くなっています。以前は教育的ないし遊具として自然のものを入手することについて周囲の理解があったが、昨今、自然破壊、無断進入などで難しくなっています。また、ナイフは危険であり保護者が使わせない風潮になっています。それでも創造力を養うにはこの上ない行動といえましょう。竹トンボの作り方を指南したサイトがあり、以下に紹介します。 http://members.jcom.home.ne.jp/kobysh/experiment/taketombo/taketombo.html 竹トンボ

Androidアプリ公開が近い

Androidアプリは概ね、完成しておりますが公開方法の確認に手間取ってしまいました。公開するにはアプリケーションに署名をしなければならず、慣れないものには高い敷居が立ちはだかっています。HowToドキュメントが数多くあれど開発環境の違いからピッタリ合致することは少なく、いままでの知識を総動員しなければなりません。完成と思ってADB(Android Debug Bridge)を使ってインストールするとINSTALL_PARSE_FAILED_NO_CERTIFICATESと表示され、失敗になります。試行錯誤を繰り返して公開寸前までこぎつけました。情報をいただくだけでは申し訳ありませんので11月から精力的に発表致します。 Andoroidアプリ開発の要となる統合開発環境ツール

あみだくじ

初めて本格的なAndroidアプリを作りました。参加者が3~10人をサポートするあみだくじのゲームです。参加者を募り締め切ったら乱数を発生し、もっとも小さい数を引き当てた人を当選者にするものです。0~9の数字をランダムに並び替えて表示されるので、ホテルの部屋割りや席順を決めるのにも使えそうです。最後に当選者の番号が音声にて知らされます。今回の開発で、お店の音声ガイド案内等に応用できることが判明しうれしい限りです。くじは名前を入れるやり方です。漢字も入力可能だがYT,SKなどイニシャル入力が便利でしょう。くじを引いて結果が出るまでを動画にしました。近日、無料公開する予定です。 http://youtu.be/j97MRMI8FSo  

Androidアプリ手ごわい

Androidアプリを作り始め、完成に近いのですが力不足で難儀しました。おかけでいろいろなテクニックを覚えました。ダイナマイトの導火線が燃え移るような図形を描画したかったが完全なものは無理でした。ちらつきをなくすためか途中は描けず完成図しか描けなかった。次の課題です。

JAVA言語によるアプリ開発

ここ1ヶ月ほど、集中してJAVAアプリケーションを開発していました。JAVAアプリは携帯やスマホに搭載されることを想定しているので、C言語による開発が主であったものには大きな戸惑いがあります。

資源をゆったり利用可能なパソコン上で動作するアプリとはメモリなどの扱いが異なります。細かな処理は処理系が用意するAPI(アプリケーションプログラミングインターフェース)が担うのでプログラムコードが小さくて済みます。

そのため、ソースコードファイルやリソースを定義するファイルなどのファイルをまとめたパッケージについて理解し、アプリ作りをサポートしてくれるプロジェクトに親しむ必要がありました。パッケージを構成する主たるファイルと開発支援環境を以下に示します。具体的な開発についてはおいおい発表されます。

アプリ甲子園

2012-09-30、株式会社D2C本社において、12-18歳の中高生(含む小学6年生)を対象にスマートフォンアプリ開発のコンテスト「アプリ甲子園」が開催され、中学2年生が優勝をおさめました。我が国はこのような催し物が少ないようです。野球、サッカー、ピアノ、バイオリンなどは小学生の頃から海を越えて世界を知る機会があるのに、学術的な分野では残念ながらその機会はほとんどありません。 D2Cは大手系列の会社のようですが、ものづくりの一環として高校野球のように「アプリ甲子園」が盛り上がればうれしい限りです。優勝者にはiMACパソコンの贈呈ですが底辺を広げるためにも関係者にがんばっていただいて、夏休み開催に変更しでっかくハーバード大やシリコーンバレーの研究所見学招待くらいは奮発して欲しいものです。このサイトでもAndroidアプリの拡充を急がなければと考えています。                優勝作品 「見えるプレゼンタイマー」

ANDROIDアプリ開発の始まり

8月末から9月上旬にかけて、ANDROIDアプリ開発に集中したのでブログの更新がおろそかになりました。新しいことを進めるには先人の功績をたどることが大切です。絵画でも大御所の作品の模写が重要と言われています。JAVAのプログラム開発においてもすぐれたサンプルコードを参照しますが、数多くのサンプルから自らの技量に合致したものを選ぶのに苦心が必要です。 ANDROIDアプリのサンプルコードは多くのサイトで公表されていますが、JAVAプロジェクトにはたくさんのファイルを必要とし、ソースファイルだけでは物足りないことがしばしばです。プロジェクト全ファイルの公開が望まれるところです。

Androidアプリ開発環境の構築

Androidアプリの開発環境構築を示します。開発機器はWindowsパソコンを用意し、開発ツールもすべて無料でダウンロードできるので、開発環境を整えるハードルは高くありません。

IPHONE用アプリ開発はアップルパソコンを用意して有償による開発登録などハードルが高いです。しかし、なんの制約もないかというとそうではなくところどころに関所があり、通行手形を見せなさいと言われることがあります。それはライブラリ使用の認証などであり、必要な案件で述べることにします。

環境構築の詳細はかなりの紙面を占めることになり、詳しくは別書(*1~*3)に譲ります。それでは開発環境構築のあらましについて述べましょう。実際にインストールしたバージョンを追記します(11月3日)。

Pleiades All in One は Windows 向けに開発対象プログラミング言語別でパッケージングした Eclipse 本体と Pleiades および便利なプラグインのセットです。ダウンロードした zip ファイルを解凍 (zip 解凍時の注意) し、eclipse.exe を起動すれば、すぐに日本語化された Eclipse を利用できます。

①ECLIPSE GUIの統合開発ツール「ECLIPSE」をダウンロードしてインストールします。Version Juno(4.2)、Build id:20120614-1722を採用しました。

②JDK Javaアプリのライブラリやコンパイラが同梱されている「JDK」をダウンロードしてインストールします。jdk-7u7-windows-i586.exeを実行しました。

③SDK Androidアプリのライブラリやエミュレータなどを同梱した「Android SDK」をダウンロードしてインストールします。android-sdk_r17-windows.zipを解凍しました。

④ADT Plugin ECLIPSEからAndroid SDKの各ソフトを使えるようにする「ADT Plugin」をインストールします。ヘルプ-新規インストール-追加-作業対象に-https://dl-ssl.google.com/android/eclipse-OKと入力し追加、すべて選択、次へ、次へ、使用条件の条項に同意します、完了と指定しました。

ダウンロードはバージョンや提供先が多岐にわたり、一度では理想の環境を構築することはかないません。周辺知識が深まるにつれて少しづつ理想に近づきますので粘り強く対応しましょう。

*1 Androidアプリ開発超入門、日経BP社

*2 初めてのGoogle Androidプログラミング、日経BP社

*3 スマートにプログラミングAndroid入門編、リックテレコム