久しぶりに録音した曲のMIXが一応できたのでサイドバーに貼り付けてみました。
今まででは一番の出来じゃないかなぁと思います。
曲は BUMP OF CHICKEN のキャッチボールです。
→の再生ボタン押すと流れます。
左右に色々音振ってるので出来ればイヤホンとかで聴いてください。
androidの本もキリのいいところまで進んだので、暇つぶしに電卓作ってみました。
まぁ1時間ぐらいで作れるだろうと軽い気持ちではじめたんですが・・・・
以外にめんどくさい
androidの技術的にはなんら難しいことはしていないんですが
今回作ったのはandroidにデフォルトで入ってる電卓とおんなじ機能にしました。
式を入力して一気に計算させるタイプです。
2+3×4-5÷-3 のような式を入力すると答えを出してくれるタイプです。
これを計算する処理がめんどくさかった
というのも、ネット探せばすぐソースが出てきそうなものですが、無駄に意地をはって処理を全部自分で考えてつくったので、結局つくるのに半日くらいかかってしまいました(;´▽`A``
如何せんオリジナルの処理なので以下のように汚いコードになってしまいました
for(int i = 0;s1.hasNext();){ // +でトークン化
s = s1.next();
sub.clear();
if(s.length() != 1){
sum.add(s);
s2 = new Scanner(sum.get(i));
s2.useDelimiter(" \\-");
for(int j = 0;s2.hasNext();){ // -でトークン化
s = s2.next();
mul.clear();
if(s.length() != 1){
sub.add(s);
s3 = new Scanner(sub.get(j));
s3.useDelimiter("×");
for(int l = 0;s3.hasNext();){ // *でトークン化
・・・・・・・・・・・・ (以下汚いコードが続く)
式を+、-、×、÷で分解していって計算しているのですが果たして最適なやり方かどうかは謎です。
今回はあまりandroidのテクニックをつかうものじゃなかったので、Javaもandroidも初めてという人のためにちょっと使えそうなテクニックを。
使うボタンが多い時は、以下のようにすると楽です。
// ボタンのidを全部入れておく
int[] buttons = {
R.id.zero,R.id.one,R.id.two,R.id.three,R.id.four,R.id.five,
R.id.six,R.id.seven,R.id.eight,R.id.nine,R.id.div_bottun,
R.id.mul_button,R.id.sub_button,R.id.sum_button,R.id.dot,
R.id.equal_button,R.id.all_clear,R.id.clear
};
// ボタンを拡張forループでリスナーに一括登録
Button b;
for(int id : buttons){
b = (Button)findViewById(id);
b.setOnClickListener(this);
}
今回はたったこれだけですがこれからもっとましなもの書けるように頑張ります
そろそろアプリを作ろう!
まぁ1時間ぐらいで作れるだろうと軽い気持ちではじめたんですが・・・・
以外にめんどくさい

androidの技術的にはなんら難しいことはしていないんですが
今回作ったのはandroidにデフォルトで入ってる電卓とおんなじ機能にしました。
式を入力して一気に計算させるタイプです。
2+3×4-5÷-3 のような式を入力すると答えを出してくれるタイプです。
これを計算する処理がめんどくさかった

というのも、ネット探せばすぐソースが出てきそうなものですが、無駄に意地をはって処理を全部自分で考えてつくったので、結局つくるのに半日くらいかかってしまいました(;´▽`A``
如何せんオリジナルの処理なので以下のように汚いコードになってしまいました

for(int i = 0;s1.hasNext();){ // +でトークン化
s = s1.next();
sub.clear();
if(s.length() != 1){
sum.add(s);
s2 = new Scanner(sum.get(i));
s2.useDelimiter(" \\-");
for(int j = 0;s2.hasNext();){ // -でトークン化
s = s2.next();
mul.clear();
if(s.length() != 1){
sub.add(s);
s3 = new Scanner(sub.get(j));
s3.useDelimiter("×");
for(int l = 0;s3.hasNext();){ // *でトークン化
・・・・・・・・・・・・ (以下汚いコードが続く)
式を+、-、×、÷で分解していって計算しているのですが果たして最適なやり方かどうかは謎です。
今回はあまりandroidのテクニックをつかうものじゃなかったので、Javaもandroidも初めてという人のためにちょっと使えそうなテクニックを。
使うボタンが多い時は、以下のようにすると楽です。
// ボタンのidを全部入れておく
int[] buttons = {
R.id.zero,R.id.one,R.id.two,R.id.three,R.id.four,R.id.five,
R.id.six,R.id.seven,R.id.eight,R.id.nine,R.id.div_bottun,
R.id.mul_button,R.id.sub_button,R.id.sum_button,R.id.dot,
R.id.equal_button,R.id.all_clear,R.id.clear
};
// ボタンを拡張forループでリスナーに一括登録
Button b;
for(int id : buttons){
b = (Button)findViewById(id);
b.setOnClickListener(this);
}
今回はたったこれだけですがこれからもっとましなもの書けるように頑張ります

そろそろアプリを作ろう!
こんにちは。
今Androidの勉強に「Google Android アプリケーション 開発入門」(木南英夫 著)
をつかって勉強してます。
基本的な機能を覚えるための入門書です。
今8章まで読みましたが、ちょっと説明が足りず、プログラムを理解するにはAPIを読みながら読んでいく必要があるとおもいます。
AndroidのAPIは今は英語しかないようなので簡単な英文は読めないとダメですが(^_^;)
あとコードの書き方に若干統一性がないのでちょっと読みづらいと思うところもあります。
今日はSQLiteの利用について勉強しました!
データベースの作成やオープンの処理を行うのにSQLiteOpenHelperというクラスを継承するようです。
SQLiteの知識がないのでこっちのコマンドとかを覚えないと使い物にならなそうなので資料を探してみようと思います。
これからもっと深く技術について書いていけるよう頑張ります。
とりあえず早く一本アプリをつくる!
今Androidの勉強に「Google Android アプリケーション 開発入門」(木南英夫 著)
をつかって勉強してます。
基本的な機能を覚えるための入門書です。
今8章まで読みましたが、ちょっと説明が足りず、プログラムを理解するにはAPIを読みながら読んでいく必要があるとおもいます。
AndroidのAPIは今は英語しかないようなので簡単な英文は読めないとダメですが(^_^;)
あとコードの書き方に若干統一性がないのでちょっと読みづらいと思うところもあります。
今日はSQLiteの利用について勉強しました!
データベースの作成やオープンの処理を行うのにSQLiteOpenHelperというクラスを継承するようです。
SQLiteの知識がないのでこっちのコマンドとかを覚えないと使い物にならなそうなので資料を探してみようと思います。
これからもっと深く技術について書いていけるよう頑張ります。
とりあえず早く一本アプリをつくる!