LoginSignup
15
17

More than 5 years have passed since last update.

デキる方と一日Androidハッカソンやってみたのでまとめ

Last updated at Posted at 2014-09-15

Androidのデキる方と一日Androidハッカソンやってみたのでまとめ
(ちな俺iOSしかできない勢なため、ほぼ教えて貰ってました_| ̄|○)

プロジェクトの構成

  • src
  • gen
  • bin
  • libs
  • assets
  • res
    • drawble-〜dpi
    • layout
    • menu
    • values
  • AndroidManifest.xml

src

アプリのソースファイルはこの中で管理する
ここで実装したActivityはAndroidManifest.xmlに必ず記載が必要(別途説明)

gen & bin

省略

assets

以下URLより学習
http://www.uni-labo.com/blog/2011/08/12/android-raw%E3%81%A8assets%E3%81%AE%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91/

アプリ側で好き勝手にいじりたいリソースはここになるって認識
ちゃんとリソースごとに管理用の処理を実装してあげないといけない

res

静的リソースファイル群、ここに突っ込んだリソースはリソースIDが降られ、
R.から始まる書き方でアクセスできるようになる

res/drawble-〜dpi

複数解像度対応時に同じ画像名で突っ込んで画像を呼び出せば、
自動で振り分けてくれる、便利!
(iOS側の解像度対応@2xェ・・・・)

res/layout

ここにsrcで実装したActivityクラスと対になるレイアウトファイル用意する
例えばMainActivityクラスだったらactivity_main.xmlとなる
(特に命名規則は無くactivity_(アクティビティクラスのprefix)が一般的というだけ)

res/menu

ここもlayoutと同じでメニュー用のレイアウトファイルを用意する

res/values

上のどれにも当てはまらない静的なリソースはここに突っ込んでおけば問題なさそう

AndroidManifest.xml

Androidのアプリ定義ファイル
アプリで表示する画面は全てここに書く

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="パッケージ名"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

  <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".FirstActivity"
            android:label="@string/title_activity_first" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SecondActivity"
            android:label="@string/title_activity_second" >
        </activity>
        <activity
            android:name=".ThirdActivity"
            android:label="@string/title_activity_third" >
        </activity>
    </application>
</manifest>

まず起動時に表示する画面に関しては以下のようにして記載
要はintent-filterタグの中身を起動したいactivityタグの中で書けばいい

<activity
  android:name=".FirstActivity"
  android:label="@string/title_activity_first" >
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

後は画面追加の度にペロっと以下のように追加していく

<activity
  android:name=".SecondActivity"
  android:label="@string/title_activity_second" >
</activity>
<activity
  android:name=".ThirdActivity"
  android:label="@string/title_activity_third" >
</activity>

感想

AndroidはiOSと違ってリソースを管理する仕組みが親切すぎると思いました。
大体iOSで同じことをしようとする場合はリソース専用のクラスを切ったりしないと
カオスなことになりやすいのでその辺りはすごく羨ましすぎる・・・
ソースに絡む部分はまた後日投稿しようと思います。

15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17