サイト構成 | 連絡先,業績など | コンピュータ実習 | データの扱い | コンピュータ設定 | 教材(公開) | サポートページ |
この Web ページで行うこと.
if [ `arch` = 'x86_64' ]; then apt-get -yV --force-yes install ia32-libs fi
※ ia32-libs のインストール時にエラーが出るときは、/etc/dpkg/dpkg.cfg.d/multiarch が「foreign-architecture i386」のようになっていることを確認する。
http://developer.android.com/sdk/index.html
クリックするとダウンロードが始まる。
ダウンロードしたファイルは,分かりやすいところに解凍 (ここでは,/usr/localと書いています).
cd /usr/local sudo tar -xvzof /tmp/android-sdk_r20-linux.tgz
sudo chown -R <ユーザ名> /usr/local/android-sdk-linux
cd /usr/local cd android-sdk-linux sudo ./tools/android
◆ 下の実行例では,Android SDK Platform-tools と Android 2.3.3 にもチェックを入れている
cd echo 'export PATH=$PATH:/usr/local/android-sdk-linux/tools:/usr/local/android-sdk-linux/platform-tools' >> .bashrc
sudo /usr/local/android-sdk-linux/tools/android update adb sudo /usr/local/android-sdk-linux/platform-tools/adb kill-server sudo /usr/local/android-sdk-linux/platform-tools/adb start-server /usr/local/android-sdk-linux/tools/ddms
cd /usr/local/android-sdk-linux/tools ./android create avd -n hoge -t 1 ./emulator -avd hoge
◆ Ubuntu 12.04 での設定手順例
sudo add-apt-repository "deb http://archive.canonical.com/ precise partner" sudo apt-get update
◆ Ubuntu 11.10 での設定手順例
sudo add-apt-repository "deb http://archive.canonical.com/ oneiric partner" sudo apt-get update
◆ Ubuntu 11.04 での設定手順例
sudo add-apt-repository "deb http://archive.canonical.com/ natty partner" sudo apt-get update
java -version
◆ すでに,OpenJDK 1.6.0_24 が使われている場合の実行結果例
sudo apt-get -yV --force-yes --purge remove sun-java6-bin sun-java6-fonts sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin sun-java6-source
sudo apt-get -yV install openjdk-7-dbg sudo apt-get -yV install openjdk-7-demo sudo apt-get -yV install openjdk-7-doc sudo apt-get -yV install openjdk-7-jdk sudo apt-get -yV install openjdk-7-jre sudo apt-get -yV install openjdk-7-jre-headless sudo apt-get -yV install openjdk-7-jre-lib sudo apt-get -yV install openjdk-7-source
端末で,次のコマンドを実行.し、java-7-openjdk の行の番号を設定する
sudo update-alternatives --config java
◆ 操作手順例
update-java-alternatives -l java -version
sudo apt-get -yV install eclipse
sudo apt-get -yV install eclipse-cdt sudo apt-get -yV install eclipse-jdt sudo apt-get -yV install eclipse-emf sudo apt-get -yV install eclipse-emf-examples sudo apt-get -yV install eclipse-sdk sudo apt-get -yV install eclipse-jdt sudo apt-get -yV install eclipse-pde sudo apt-get -yV install eclipse-platform sudo apt-get -yV install eclipse-platform-data sudo apt-get -yV install eclipse-plugin-cvs sudo apt-get -yV install eclipse-rcp sudo apt-get -yV install eclipse-rse sudo apt-get -yV install eclipse-xsd sudo apt-get -yV install eclipse-xsd-sdk sudo apt-get -yV install pleiades
if [ -f /usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar ]; then echo '-javaagent:/usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' | sudo tee -a /usr/lib/eclipse/eclipse.ini fi
端末で「eclipse」
環境設定を下記に示す.
Eclipseを起動すると,最初の画面で,「ワークスペースの選択 (Select a workspace)」と出る. ここでワークスペースのディレクトリとして設定する.OK を押すと,ワークスペースが作成される.
Eclipse で 「Window(ウィンドウ)」→「Preferences(設定)」→「Java」→「Installed JRE(インストール済みのJRE)」
【インストール済みの JRE】の変更手順
インストール済み JRE が,下記のように「...java-6-openjdkのようになっている場合には、 OpenJDK 1.7 を使っていないことになるので、手動で設定する.
設定手順は下記の通り.
今開いている設定用ウインドウで,「general(一般)」→「Editors(エディタ)」→「Text Editor(テキストエディタ)」
「Show line numbers (行番号の表示)」をチェック
Eclipseでテキストファイルを扱う場合の文字コードについて,問題があれば,変更できる.
今開いている設定用ウインドウで,「general(一般)」→「ワークスペース」
「Text file encoding (テキスト・ファイル・エンコード)」と, 「New text file line delimiter (新規テキスト・ファイルの行区切り文字)」を設定
今開いている設定用ウインドウで,「一般 (General)」 → 「キー (Keys Modify)」 → 「スキーム(Scheme)」のプルダウンから 「Emacs」
参考 Web ページ http://eclipsewiki.net/eclipse/index.php?Emacs%C9%F7%A5%AD%A1%BC%A5%D0%A5%A4%A5%F3%A5%C9
今開いている設定用ウインドウで,「Java」→「Build Path(ビルド・パス)」
「Source and output folder(ソース及び出力フォルダー)」 で,「Folders(フォルダー)」にチェック されているはず.確認しておく.
「Source folder name (ソース・フォルダー名)」と「Output folder name (出力フォルダー名)」をここままでもよいし,好きに設定してもよい(何でも良いが,別のディレクトリになるように設定すること).
今開いている設定用ウインドウで,「Java」→「Compiler(コンパイラ)」
Compiler compliance Level を設定できる。
次の URL を指定
https://dl-ssl.google.com/android/eclipse/
確認したら「次へ (Next)」をクリック
※ ウインドウが現れない場合には,ウインドウ (Window) → 設定 (Preference) と操作し, 左パネルにある 「Android」を選ぶ
Eclipse で, ウインドウ (Window) → Android SDK マネージャー (Android SDK Manager) と操作する.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
しばらく待つと, エミュレータの画面に 「Hello World, ...」というようなメッセージが現れる.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
使用する Android 機器の設定を行う.
参考 Web ページ: http://developer.android.com/tools/device.html#Vendorid
◆ <Sony Ericsson の場合の設定手順例>
Vender ID のところ(「0fce」のようになっているところ)は、Android 機器の会社によって変わる値。
echo "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fce\", MODE=\"0666\", GROUP=\"plugdev\"" > /tmp/51-android-rules sudo cp /tmp/51-android-rules /etc/udev/rules.d/51-android-rules
sudo udevadm control --reload-rules
「adb devices」の実行により、接続されている Android 機器のデバイス番号が表示される
adb devices
プロジェクト名は,インポートしたいプログラムの src ディレクトリを見るとすぐに分かる.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
しばらく待つと, エミュレータの画面に 数独が現れる.
package hoge.hoge.com;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.location.Location;
import android.location.LocationManager;
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager locman = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
Location loc = locman.getLastKnownLocation(LOCATION_SERVICE);
double latitude = loc.getLatitude();//緯度
double longitude = loc.getLongitude();//経度
TextView tv = new TextView(this);
tv.setText( "lat: " + latitude + ", long: " + longitude );
setContentView(tv);
}
}
<html>
<head>
<script type="text/javascript">
document.write(anroid.gps("<i>", "</i>"));
</script>
</head>
<body>
<p>
Hello
</p>
</body>
</html>
package hoge.hoge.com;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
public class JavaScriptObj {
private Context con;
public JavaScriptObj(Context con) {
this.con = con;
}
public String gps(String top, String end) {
LocationManager locman = (LocationManager)con.getSystemService(Context.LOCATION_SERVICE);
Location loc = locman.getLastKnownLocation(Context.LOCATION_SERVICE);
double latitude = loc.getLatitude();//緯度
double longitude = loc.getLongitude();//経度
int lat = (int) (loc.getLatitude() * 1000000);
int lon = (int) (loc.getLongitude() * 1000000);
return top + "緯度:" + lat + ", 経度: " + lon + end;
}
}
package hoge.hoge.com;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.TextView;
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = new WebView(this);
wv.getSettings().setJavaScriptEnabled(true);//JS利用OK
setContentView(wv);
JavaScriptObj jo = new JavaScriptObj(this);
wv.addJavascriptInterface(jo, "android");
wv.loadUrl("file:///android_asset/www/index.html");
}
}