Android

2014年5月15日 (木)

自作アプリ「めんくいカメラ 〜イケメン・美人しか写らない恐怖のカメラ〜」のご紹介

★よかったらtwitterのフォローお願いします!@Soramame_1110

今日は、ろくにブログも更新せずコソコソと作成していたアプリ、

"めんくいカメラ
〜イケメン・美人しか写らない恐怖のカメラ〜"

の、ご紹介です!

とりあえずストアのリンクを。iPhone版、android版両方作りました。
<iPhone版>
https://itunes.apple.com/us/app/menkuikamera-ikemen-mei-renshika/id846563434?mt=8

<android版>
https://play.google.com/store/apps/details?id=com.yso.menkuicamera

リリース自体は2週間ほど前に行ったのですが、

実は今日、こちらのサイトに紹介記事が掲載されているのを知りました(!)
http://www.appps.jp/90024/

まさかこんなふうに扱っていただけるとは思わなかったので嬉しいです。

さて、アプリの内容ですが・・・、

 

正直、上に書いた紹介記事がさすがプロの文章なだけあり上手すぎて、
僕が下手に紹介文を書くより記事を読んで頂いたほうがわかりやすく伝わると思います(笑)

なので、細かい話は置いておいて、

どんなアプリかを簡潔に言うと、

「名前のとおりイケメンや美人だけが写り、そうでない人は写らないカメラアプリ」です。

具体的には下のようになります!

●イケメンの場合・・・輝きます
Unnamed_2

●ダメな顔の場合・・・モザイクにより、消されます
Unnamed2

●論外の場合・・・↓のように悲惨なことになります
Unnamed3

なお、このアプリは写りの良し悪しも判定するため、

同じ人物の写真でも、写りがよければ点数は上がります。

なので、キメ顔とナナメ45度を超える究極の角度で写れば、

顔に自信がないアナタも高得点を狙えるはずです!

ちなみに今のところ、ぼくが知る限りの最高得点は

会社の後輩がネットで拾ったキムタクの画像の82点です。

自撮りした写真はたいてい50点前後をウロウロです・・・。

このブログをご覧になってくださったみなさんも、

是非遊んでみてください!!

※アプリの不具合報告やご質問、ご要望などありましたら、

  是非このブログにコメントください。お待ちしております!

2013年11月24日 (日)

【いつでもクイックランチャー】2013/11/24 ver3.0へのバージョンアップを行いました

3ヶ月ぶりに、いつでもクイックランチャーのバージョンアップを行いました。

アップデート内容は、以下のとおりです。


●ランチャーの引き出しが、左右好きなほうに配置できるようになりました!

これまでのバージョンでは、ランチャーの引き出しの配置は左側固定でした。

しかし、今回のバージョンアップにより、引き出しの配置を左右変更できるようになりました。

これで、右利きの人も、左利きの人も、より使いやすくなった。。。はず!

設定方法は下記のとおり。


(1) トップ画面の設定ボタンをクリックし、設定画面を開いてください。

Photo_2


(2) 設定画面の中にある、"ランチャーの配置(左/右)"と書かれたメニューをクリックしてください。 このメニューが、今回のアップデートで新しく追加されたものになります!

1_2

 

(3) すると、左右の配置を選択するダイアログが開きます。お好みの配置を選択してください。

2_2

 

(4) 選択が終わると、下の画像のように、引き出しの配置が変更されます。

1_4



新機能を搭載したいつでもクイックランチャーを、是非ご利用ください!

ダウンロード/アップロードはgoogle playから↓

https://play.google.com/store/apps/details?id=com.yso.slidetask

2013年10月22日 (火)

【Android】Google Map API v2で、地図を拡大/指定位置の表示/傾ける/回転などを行う

先日、せっかくgoogle map API v2を使って地図を表示したので、

遊んでみたいと思います。


  

【GoogleMapオブジェクトを取得する】

何をするにもまず、GoogleMapオブジェクトを取得する必要があります。

GoogleMapオブジェクトは、次のようにして取得します。

public class MainActivity extends FragmentActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        SupportMapFragment fragment
            = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map));
       
        GoogleMap map = fragment.getMap();

       
    }
}

マップオブジェクトが取得できたら、地図のズームや回転など、いろいろな操作をしてみましょう。


【地図の拡大/縮小を行う】

地図の拡大・縮小を行う方法は、以下の通り。

// 地図の倍率を指定する。
CameraUpdate update = CameraUpdateFactory.zoomBy(3);

// 倍率を地図に反映させる。
map.moveCamera(update);

なお、指定できる倍率の最大値及び最小値は、

map.getMaxZoomLevel() / map.getMinZoomLevel()

で、取得できます。


【指定した位置を地図で表示する】

指定した位置を、地図上で表示する場合は、次のように行います。

/*
*  表示位置を示すLatLngオブジェクトを生成。
*  第一引数が緯度、第二引数が軽度。
*/
LatLng lat = new LatLng(34.645947,135.514267);

// 地図の表示位置を指定する。
CameraUpdate update = CameraUpdateFactory.newLatLng(lat);

// 表示位置を地図に反映させる。
map.moveCamera(update);

ちなみに、上のサンプルソースで指定している座標は、

横浜ランドマークを超え、日本一高いビルとなったあべのハルカスの位置です。


【地図を傾ける】

Google Map API v2で表示した地図は、2点タッチしたまま上下にスライドすると、

地図の表示を傾けることができます。

これをソースで行う場合は、次のようになります。

// 傾きを指定する際は、CameraPositionを使用する必要がある。
CameraPosition.Builder builder = new CameraPosition.Builder(map.getCameraPosition());

// 地図の傾きを設定。大きければ大きいほど傾く。
builder.tilt(50);
CameraPosition position = builder.build();

// CameraPositionから、CameraUpdateを生成。
CameraUpdate update = CameraUpdateFactory.newCameraPosition(position);

// 傾きを地図に反映させる。
map.moveCamera(update);


【地図を回転させる】

Google Map API v2で表示した地図は、2点タッチしたまま回転させると、

地図を回転させることが出来ます。

この操作も、もちろんプログラムから行うことが出来ます。

これにより、地図をヘディングアップ表示させることも簡単に出来そうですね。

ソースは以下のとおりです。

// 地図を回転する際は、CameraPositionを使用する必要がある。
CameraPosition.Builder builder = new CameraPosition.Builder(map.getCameraPosition());

// 地図の回転角を設定。0~360で指定する。0で北を指す。
builder.bearing(90);
CameraPosition position = builder.build();

// CameraPositionから、CameraUpdateを生成。
CameraUpdate update = CameraUpdateFactory.newCameraPosition(position);

// 回転角を地図に反映させる。
map.moveCamera(update);


【倍率/指定位置の表示/傾き/回転を、一度に指定する】

ここまでで記載した、4つの操作を一度に行います。

1度に複数の設定を同時に行う場合は、CameraPosition.Builderを使用します。

CameraPosition.Builder builder = new CameraPosition.Builder(map.getCameraPosition());

// 地図の倍率を指定。
builder.zoom(17);

// 地図の表示位置を指定。
builder.target(new LatLng(34.645947,135.514267));

// 地図の傾きを指定。
builder.tilt(50);
// 地図の回転角を指定。
builder.bearing(90);

CameraPosition position = builder.build();

// CameraPositionから、CameraUpdateを生成。
CameraUpdate update = CameraUpdateFactory.newCameraPosition(position);

// 回転角を地図に反映させる。
map.moveCamera(update);


上記ソースの設定で地図を表示すると、下の画像のようになります。

Device20131022010551_2


立体的に表示されて、かなりカッコいい感じです。


--------------------------------------------------

自作アプリ、

いつでもクイックランチャー ver3.0アップデートを

公開しました!

Slidetask

Google playよりダウンロード可能ですので、是非お使いください!

https://play.google.com/store/apps/details?id=com.yso.slidetask


感想や改善点等、聞かせていただけるとうれしいです。

アプリの中の実装方法で気になる点のご質問も大歓迎です!

2013年10月20日 (日)

【Android】Google Map API v2を使用する

2013年3月18日以降、Google Map API v1用の新しいAPIキーを取得することが

出来なくなっています。

そのため、これ以降Google Mapを使用したアプリを作る際は、

必然的にv2のAPIを使うことになります。

しかし、APIキーの取得方法からアプリへの組み込み方まで、

v1のときとは大きく変わっているので、ここに手順を書き残します。


組み込みまでの手順はいろいろと面倒ではありますが、

v2のGoogle Mapは、v1のものに比べ、たくさんの機能が追加されており、

組み込む価値は十分にあると思います。


それでは、手順について書いていきたいと思います。


【① google play serviceのパッケージを取得する】

google map api v2は、google play serviceの1機能として用意されています。

Androidでgoogle map api v2を使用する際は、google play serviceのパッケージを

取得する必要があります。


ではまず、SDKマネージャーを起動しましょう。

11


SDKマネージャーが起動したら、"extras"内の"google play service"に

チェックを入れ、インストールボタンを押してください。

これで、パッケージの取得が始まります。

12


インストールしたパッケージは、以下のパスに保存されます。

"(自身のsdk保存場所)\extras\google\google_play_services"

中には、アプリ開発時に使用するライブラリの他、

ドキュメントやサンプルコードが入っています。


この中のライブラリを、eclipseに取り込みましょう。

eclipseにて、"新規プロジェクト"⇒"Android"⇒"Android Project from Existing Code"

を選択し、先ほどインストールしたパッケージのライブラリのパスを指定します。

取り込み時に指定するパスは、以下になります。

"\extras\google\google_play_services\libproject\google-play-services_lib"


13


14


取り込み後、eclipseのパッケージエクスプローラーに、

"google-play-services_lib"が作成されていれば完了です。

15


【②APIキーを取得する】

google map API v2用のAPIキーを取得します。

google map API v1用のAPIキーは使用できないので、

新たに取得しなおす必要があります。

※APIキー取得には、googleアカウントが必要です。
   ここでは、googleアカウントはすでに取得済みとして進めていきます。

(1) keystoreのSHA1の値を取得する

APIキーを取得するには、キーストアのSHA1の値が必要です。

デバッグ実行時の場合は、デバッグ用keystoreを使用します。

デバッグ用キーストアは、以下の場所にあります。

"C:\Users\(ユーザー)\.android\debug.keystore"

リリース用キーストアは、リリース時に毎回使用しているキーストアになります。


SHA1の値は、コマンドプロンプトにて、以下のコマンドを実行することで取得できます。

>keytool -list -v -keystore "パス名\キーストア名" -alias androiddebugkey -storepass android -keypass android


※keytoolコマンドが実行できない場合
keytoolコマンドは、jreのパッケージ内のbinフォルダに入っています。
jreのインストール先は、デフォルトだと"C:\Program Files\Java\jre"になるので、
探してみてください。


コマンドを実行すると、以下のように表示されます。

この中の、SHA1の値を、API取得時に使用するので、控えておいてください。

16


(2) google API consoleにて、APIキーを取得する

APIキーの取得は、google API consoleにて行います。

下記URLよりアクセスしてください。

https://code.google.com/apis/console/

初めてですと、下の画像のようなボタンが表示されるので、

クリックしてプロジェクトを作成してください。

17


プロジェクトが作成し終わったら、以下のようにしてください。

"Service"を選択⇒"Google Map API v2"をOKにチェックする

-----

18

-----

19


次に、"API Access"から、"Create new Android key....."を選択してください。

すると、ダイアログが開くので、

キーストアのSHAの値を入力し、続けてセミコロンを入力、

その後ろにgoogle mapを使用するアプリのパッケージ名を入力してください。

※このようになります ⇒ "(SHA値);(アプリのパッケージ名)"

110

入力後、createボタンをクリックすると、APIキーが生成されます。

APIキーは、アプリ開発時に使用するので、控えておいてください。


【③ アプリケーションに、google map API v2を組み込む】

いよいよ、アプリにgoogle map API v2を組み込んでいきます。

いろいろとやらないといけないことがあるので、順を追って進めていきましょう。


(1) アプリのプロジェクトに、google-play-service_libを組み込む

以下の手順にて、ライブラリ設定画面を開いてください。

プロジェクトを右クリックしてメニューを開く ⇒ メニューより"プロパティ"を選択してプロパティダイアログを開く ⇒ "Android"を選択

画面が開いたら、以下の2つを行ってください。

  ① ターゲットをGoogleAPIsにする

  ② ライブラリーに、"google-play-service_lib"を追加する

111

これで、ライブラリの組み込みは完了です。


(2) マニュフェストファイルの設定を行う

マニュフェストファイルの設定が必要です。

下記の、赤字の部分を追記してください。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yso.googlemapv2"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
   
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.yso.googlemapv2.permission.MAPS_RECEIVE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />


    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

   
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="(取得したAPIキー)" />

        <activity
            android:name="com.yso.googlemapv2.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>


以上で、google map API v2を使用するための準備は完了です。


【④google map API v2を使用して地図を表示するサンプルソース】

最後に、サンプルソースを載せておきます。

google map API v2は、fragmentを使用します。

しかし、fragmentは、Android API version11(=Android3.0)以降でしか使えません。

だからといって、API Version10以下(=Android2.3以前)の端末で、

google map API v2が使用できないわけではありません。

"android-support-v4.jar"をアプリに組み込めば、古いバージョンの端末でも

使用することができます。

このライブラリは、下記のパスにあるので、適宜組み込んでください。

"(sdkインストール先)\extras\android\support\v4"


それでは、サンプルソースです。


●レイアウトxml

赤字で示したように、fragmentを使用します。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        class="com.google.android.gms.maps.SupportMapFragment"/>

</LinearLayout>


●アクティビティ

アクティビティのほうは、FragmentActivityを親クラスとする点がポイント。

package com.yso.googlemapv2;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}


下の画像は、上記ソースを実行したものです。

112

v1に比べ、かなりかっこいいですね!



--------------------------------------------------

自作アプリ、

いつでもクイックランチャー ver3.0アップデートを

公開しました!

Slidetask

Google playよりダウンロード可能ですので、是非お使いください!

https://play.google.com/store/apps/details?id=com.yso.slidetask


感想や改善点等、聞かせていただけるとうれしいです。

アプリの中の実装方法で気になる点のご質問も大歓迎です!

2013年8月 4日 (日)

【いつでもクイックランチャー】2013/8/4 ver2.0へのバージョンアップを行いました

早速ですが、本日いつでもクイックランチャーをver2.0にバージョンアップしましたので、

お伝えしたいと思います。


バージョンアップ内容は次のとおりです。


●アクションバーに対応(Android4.0以降の端末のみ)

アクションバー対応を行いました。

従来は設定画面の起動はメニューから行いましたが、

今回のバージョンより、画面右上のボタンから起動できるようになっています。

なお、Android2.3以前のものはアクションバー非対応のため、

従来どおりメニューから起動となります。

Blog84_1


●ランチャーを閉じた状態の時の、表示幅を変更できるようになりました

設定画面より、表示幅の変更が行えます。

Blog84_2    Blog84_3


●ウェブサイト選択時に、使用するブラウザを選択できるようになりました

ブラウザの選択も、設定画面から可能です。

Blog84_5    Blog84_4


今回のアップデート内容は以上です。

是非ご利用ください!


<インストールはこちらから>

https://play.google.com/store/apps/details?id=com.yso.slidetask

2013年8月 3日 (土)

【google play公開アプリ】いつでもクイックランチャーのご紹介

少々恥ずかしいですが、

今日は僕がgoogle playに公開しているアプリの紹介をさせていただきたいと思います。

 

【いつでもクイックランチャー】

どのような画面からも、素早くアプリやウェブサイトを表示できるようにするための

アプリです。

起動すると、画面左端に、3つのタブが表示されます。

App_top

これをスライドさせると、下の図のようにランチャーを表示させることができます。

 

App_2_2


ランチャーの起動は、アプリの設定画面から行えます。

Store1_2

 

続いて、ランチャーが持つ主な機能についてご紹介します!

 

●メモ機能

1つ目はメモ機能です。

画面左端の一番上のタブを開くと、メモが起動します。

ウェブサイトや別のアプリを使用しているときに、

ちょこっとメモしたい時などに便利です。

Memo1_2     Memo2

 

 

●アプリケーション登録/起動機能

画面左端の真ん中のタブは、アプリの登録/起動機能です。

アプリを登録しておくと、登録したアプリのアイコンをクリックすれば

いつでも手軽にワンタッチ起動ができます。

もちろん、別のアプリを起動中にも使用することができます。

Apptask

 

登録したアプリのアイコンを長押しすると、メニューが開きます。

登録したアプリの削除はここから可能です。

そのほかにも、登録したアプリをお友達に教えたりなど、

便利な機能も付いています。

Apptask2

 

●ウェブサイトリンク登録機能

最後に、画面左端の一番下のタブですが、

こちらはウェブサイトのリンクを登録することが出来ます。

ウェブサイトの登録は、ブックマークや閲覧履歴から選択できる他、

ブラウザアプリのメニューにある「ページの共有」機能からも

登録可能です。

Website1   Website2


Website3

 

以上で、アプリの紹介は終わりです。

もしよかったらお使い頂き、感想を頂けますと嬉しいです。

また、アプリ内の実装方法で知りたいところがあれば、

ご連絡頂ければこのブログで取り上げたいと思いますので、

是非ご一報ください!


<インストールはこちらから>

https://play.google.com/store/apps/details?id=com.yso.slidetask

2013年8月 2日 (金)

AndroidとiOSで、画面をバックグラウンドに移動させた時のタイマーの動きを比較してみた

最近、仕事でiPhoneのアプリを触ってます。

iOSの画面はViewController、Androidの画面はActivityという

クラスで作るのですが、タイマーを起動した状態でこれら画面を

バックグラウンドに移動した際の動きに違いがあったので、

忘れないようメモっておこうと思います。

比較した動作は、以下のとおりです。

タイマーを起動した状態で、以下の操作を実行

  • 画面上に別の画面を重ねる
  • 画面を終了させる
  • ホームキーを押下する

【iOSの場合】

●画面上に別の画面を重ねた場合

上に別のViewControllerを重ねても、タイマーは裏で動き続ける。

●画面を終了させた場合

画面を終了させても、タイマーは生存し続ける。

●ホームキーを押下する

タイマーによるメソッドコールが行われなくなる。

しかし、タイマーは死んだわけではなく、再びアプリを復帰させると、

タイマーのメソッドコールが再開される。

バックグラウンドにいる間に、タイマーに設定したインターバル時間が超過した場合は、

フォアグラウンドに復帰直後にメソッドコールが行われる。

【Androidの場合】

●画面上に別の画面を重ねた場合

すなわちonPause(), onStop()が呼ばれたとき。

上に別のViewControllerを重ねても、タイマーは裏で動き続ける。

これはiOSと同じ。

●画面を終了させた場合

onDestory()まで呼ばれたとき。

アクティビティが終了しても、タイマーは裏で動き続ける。

これもiOSと同じ。

●ホームキーを押下する

ホームキーを押下されたあとも、タイマーは動き続ける。

ここがiOSと違う。

まとめると・・・、

(1)  ホームキーを押下したときのタイマーの振る舞いが異なる。(※ここでハマった。やっぱり同じ感覚でソース書いたらだめですね・・・。)

(2)AndroidでonDestroy()が呼ばれたからといって、タイマーは破棄されない。というかonDestroy()後もアクティビティのメモリが残ってしまっているのでタイマー解除は忘れずに。

(3) iOSでも、画面を消去後もタイマーは破棄されない。破棄してあげないと、やはりメモリは解消されないので要注意。

2013年6月 5日 (水)

【Android】adtをver22にバージョンアップしたら、NoClassDefFoundErrorが発生するようになった!

ずいぶんご無沙汰になってしまいました・・・。

先日、いつもどおりexlipseを起動したら、adtの更新があったので、

アップデートしました。

 

すると・・・。

 

それまでインストールすると問題なく動いていたアプリが、

アップデート後にビルドしてインストールすると、

"NoClassDefFoundError"が発生して強制終了するようになりました_| ̄|○

どうやら、adt22以降は、apk生成時にプロジェクトのlibs配下にある

jarファイルが自動でエクスポートされなくなったようです。

この現象は、次の手順で解決できます。


(1) プロジェクト右クリック⇒「ビルドパスの構成」選択でビルドパス設定ダイアログ起動

Blog13_1

 

(2) 「順序及びエクスポート」タブ選択

 

(3) 「Android Private Libraries」にチェックを入れる

Blog13_2

(4) 「OK」をクリックして設定完了。

 

 

これで、あとはビルドしてアプリをインストールすれば、

エラーが発生せずに実行できます。

2013年5月15日 (水)

【Android】アプリから、ブラウザのブックマークのサムネイルを取得するプログラム

Androidの標準ブラウザでブックマーク一覧を表示すると、

以下のような画面が表示されます。

Blog10

この中に表示されているブックマークのサムネイルを、アプリから取得する方法について

調べたので、書き留めておきます。

 

まず、Androidのブックマークは、サムネイルに限らず、URLや訪問日時等の各データは、

データベースに登録されています。

そして、ContentProviderを使用することで、アプリのプログラム上からブックマークの

情報を読み出すことが出来ます。

ここでは、ContentProviderの細かな使用方法については省略します。

このデータベースのカラムは、android.provider.Browzer.BookmarkColumnsクラスに

定義されています。

リファレンスはこちらです。

 

しかし、このページを見ても、サムネイルに該当しそうなカラムは定義されていません。

実は、サムネイルのカラムは隠しAPIとなっているためです。

隠しAPIとはいえ、データベース上はサムネイルを保存したカラムが実際には

存在しているので、ContentProviderを用いて、直値でサムネイルのカラム名を

指定すれば読み出すことが出来ます。

サムネイルのカラム名は、"thumbnail"です。

下に、サンプルソースを書いておきます。

 

なお、既に記載したとおり、

サムネイルのカラム名は非公開となっております。

よって、Androidのバージョンアップによって、カラム名が変更される可能性も

十分に有ると言えます。

そのため、使用する前に、よく御検討ください。

2013年4月30日 (火)

【Android】 アプリの管理画面を直接起動する(設定画面から起動するアレ)

今回は本ブログ初のAndroidネタです!

アプリの管理画面を直接起動したくて、その方法を調べたので記載します。

アプリの管理画面とは、普段設定画面から起動する、下の図のような画面です。

Blog20130430_1_3

では、早速上記画面の起動方法についてです。

下に書いたメソッドは、アプリの管理画面を起動するためのものです。

ポイントは2つです。

  1. intentのactionには、"android.settings.APPLICATION_DETAILS_SETTINGS"を
    設定する。ソースコードの2行目にあたります。
  2. intentのdataには、"package:[管理画面を起動したいアプリのパッケージ名]"を指定する。
    パッケージ名の前に、"package"スキーマを記述する必要があります。
    ソースコードの3行目にあたります。

この2つのポイントに従ったインテントを作成し、startActivity()を実行すれば、

めでたく管理画面が起動されます。

その他のカテゴリー

購入


無料ブログはココログ