Android 4.0 別名あいすくりーむさんどいっち(Ice Cream Sandwich)の仕様が公開されましたね。
Androidおなじみの別名すいーつ名もなかなか数が揃ってきましたね。
A...(Aから始まるお菓子
B...(Bから始まるお菓子
C...CupCake(かっぷけーき
D...Donut(どーなっつ
E...Eclair(えくれあ
F...Frozen Yogurt(Froyo ふろーずんよーぐると…これは無理がある気が
G...Gingerbread(じんじゃーぶれっど…これもなんだかなぁ
H...Honeycomb(はにかむ…蜂の巣って無理くりな
I...IceCreamSandwich(あいすくりーむさんどいっち!
F辺りからなんだか微妙なネーミングですが、私としては、IceCreamSandWichはけっこうイイネーミングだと思ってます。
なぜなら、このver.の目玉は、これまでの携帯系列(A~G)と、タブレット系列(H)が合わさって統合されるバージョンだからです。
これまでのアプリ開発者は、携帯用とタブレット用で別の製品を作らなければならなかったのですが、これ以降は、同じソフトが携帯、タブレット両方で動くというのです。
これでやっとAndroidも安定してくれるのかな。。。
他の特徴については、また元気があったら。
なんにせよ、楽しみが増えました。
一つ心配なのは、Android4.0が載るといわれているGalaxy NexusがAppleからまた訴えられて差し止めにならないかどうかってこと。
仮処分になると、一年間?は販売停止になっちゃう(つまり製品としてはOUT!!)のでね。
2011/10/20
2011/10/12
Cameraから取得したcontentから直接ファイルアクセス
CameraアプリをIntent起動して画像のcontentを取得したんだけど・・・そのファイルを直接読みたいなー・・・って場合に便利。
ようするに、以下がしたくなる
こんなときは、ContentProviderを使って検索すれば変換できる。
content⇒fileは、
file⇒contentは、
読みにくいな…Bloggerでソースコードをキレイに貼り付けるのはどうすりゃいいんだろ?
ようするに、以下がしたくなる
content://media/external/images/media/112
↓↑
file:///sdcard/DCIM/Camera/1280714136175.jpg
こんなときは、ContentProviderを使って検索すれば変換できる。
content⇒fileは、
Cursor c = getContentResolver().query(uri, null, null, null, null);
c.moveToFirst();
String filename = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));
file⇒contentは、
String filename = "/sdcard/DCIM/Camera/1280714136175.jpg";
Cursor c = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null,
MediaStore.Images.ImageColumns.DATA + " = ?",
new String[]{filename},
null);
c.moveToFirst();
String contentname = "content://media/external/images/media/" +
c.getInt(c.getColumnIndex(MediaStore.MediaColumns._ID));
読みにくいな…Bloggerでソースコードをキレイに貼り付けるのはどうすりゃいいんだろ?
2011/10/11
UriとURIの違いについて
え・・・?
UriとURIて一緒じゃないの??
Uriは、android.net.Uri
URIは、java.net.URI
Uriは、URIをAndroid用にラップしたものだそうで…
まぎらわしいったらありゃしない…
UriとURIて一緒じゃないの??
Uriは、android.net.Uri
URIは、java.net.URI
Uriは、URIをAndroid用にラップしたものだそうで…
まぎらわしいったらありゃしない…
2010/11/03
DropboxAPI.getFileStream
Dropboxアカウントの任意パスにあるファイルにアクセスするAPI
返り値のFileDownloadのメンバにInputStream型やOutputStream型のメンバを持つので、それを使ってファイル内容を読み込んだり書き込んだり・・・って使い方。
各引数は、
import com.dropbox.client.DropboxAPI;
import com.dropbox.client.DropboxAPI.FileDownload;
FileDownload DropboxAPI.getFileStream(String arg0, String arg1, String arg2);
返り値のFileDownloadのメンバにInputStream型やOutputStream型のメンバを持つので、それを使ってファイル内容を読み込んだり書き込んだり・・・って使い方。
各引数は、
- arg0 : "dropbox"固定ぽい
- arg1 : login userのDropbox rootからのpath + filename
- arg2 : HashCodeらしい。。。。とりあえずnullで動くけど・・・なんなんだろうね?
使用例
String dir = "/";String filename = "test.txt";FileDownload fd = api.getFileStream("dropbox", dir+filename, null);BufferedReader reader = new BufferedReader(new InputStreamReader(fd.is));
後は、BufferedReader.ReadLineを使いご自由にファイルアクセスしてくんなまし。
その他メモ
- FileDownload.HasErrがTrueならなんらかの失敗してます
- 理由はHttpCodeとかHttpReasonとか見ればわかる(404ならファイルがネーヨ!とかね
- Http404 File Not Foundの場合、FileDownload.isからStringを一行読んだら、{"error":"File not found"}が入ってた
2010/10/25
DropboxAPI for Android
DropboxAPI for AndroidのサンプルコードをEclipse上で動かすまでの手順とメモ。
DropboxAPIを使うためには、認証情報として、アプリ申請を行ったKEYが必要となります。注意が必要なのは、この申請したアプリが承認されるまで(開発期間中)は、KEYを取得したアカウントでのみログインなどのAPI動作が許可されている点です。遊ぶ分にはまったく問題ありませんがね。
それでも動かない場合のメモ
-Http 403 errorの場合(認証エラー)の勘所
- 公式サイトからログイン
アカウントが無ければ、作成 - "My App" > "Create an App" > "App Name"と"Description"を記入 > "Create"
"App Name"と"Description"は適当で大丈夫です。後で修正できますので。。。 - "My App" > 先ほど登録したアプリの"option" > 最下欄のApp keysをメモ
- "Client Libraries" > "Java/Android SDK v0.1"をDL
- DLしてきたdropbox-android-sdk-0.1.tar.gzを解凍場所はどこでもいいですが、Eclipseのworkspace上に移動しとくと管理が楽。
- Eclipse > File > New > Project > AndroidProject > Create project from exisiting source > dropbox-android-sdk-0.1.tar.gzを解凍したフォルダを指定 > Finishでプロジェクト生成
- 生成したProjectを右クリック > Properties > Libraries > Add JARs > project/lib下にある._以外の.jarを全部指定してOK
- project > src > DropboxSample.javaの以下コードに3.でメモしたkeyとcecretコードを書き換え
// Replace this with your consumer key and secret assigned by Dropbox.
// Note that this is a really insecure way to do this, and you shouldn't
// ship code which contains your key & secret in such an obvious way.
// Obfuscation is good.
final static private String CONSUMER_KEY = "PUT_YOUR_CONSUMER_KEY_HERE";
final static private String CONSUMER_SECRET = "PUT_YOUR_CONSUMER_SECRET_HERE"; - 実行
動かすと、ログイン画面が出てきて、アカウントアドレスとパスを入れ、下のボタンを押すとログインできます。それだけです。
※この段階では、アプリを申請した(keyを取得)したアカウントのみログイン可能です。
DropboxAPIを使うためには、認証情報として、アプリ申請を行ったKEYが必要となります。注意が必要なのは、この申請したアプリが承認されるまで(開発期間中)は、KEYを取得したアカウントでのみログインなどのAPI動作が許可されている点です。遊ぶ分にはまったく問題ありませんがね。
それでも動かない場合のメモ
-Http 403 errorの場合(認証エラー)の勘所
- アカウントアドレスとパスがkeyを取得したときのアカウントのものと違う
- CONSUMER_KEYとCONSUMER_SECRETが正しくない
- 実行環境(携帯とか)のシステム時間が世界標準時間と大きく異なる
- 実行環境がそもそもネットに繋がってない
2010/10/24
ADT Layout Editor は TabWidget に対応してない!?
EclipseでADT Layout Editor使って、レイアウトのxmlファイルをいじってたら、うんともすんともプレビューが表示されない。
画面には、 NullPointerException = null の文字が悲しく表示されるのみ。
自分が作ったソース的にはエラーはまったくないんだけどなぁ。。。
ってことで、色々調べた結果。
どうやら、layoutとして、TabWidgetを使ってることが原因っぽい。
Android1.5では同じソースは動いてたのに、2.0で同じプロジェクトを立ち上げると、このエラーが出てしまう。
よくよく同じ人をGoogleさんちで探してみると、Issue 2021としてGoogle code Androidに登録されておりました。
あぁ。やっぱね。
さて、TabWidgetで楽して実現すんのあきらめて、ちゃんと他のめんどい方法でやりますか。はぁ。。。
ちなみに、そのエラーは長いけどこんなん。
java.lang.NullPointerException
at android.widget.TabWidget.dispatchDraw(TabWidget.java:105)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.View.draw(View.java:5841)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:400)
at
com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.computeLayout(Unknown
Source)
at
com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.recomputeLayout(Unknown
Source)
at com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.activated(Unknown
Source)
at com.android.ide.eclipse.editors.layout.LayoutEditor.pageChange(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:697)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:628)
at com.android.ide.eclipse.editors.AndroidEditor.selectDefaultPage(Unknown Source)
at com.android.ide.eclipse.editors.AndroidEditor.addPages(Unknown Source)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:146)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:283)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:263)
at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:398)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2688)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98)
at
org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125)
at
org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:328)
at
org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:690)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:433)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:857)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
画面には、 NullPointerException = null の文字が悲しく表示されるのみ。
自分が作ったソース的にはエラーはまったくないんだけどなぁ。。。
ってことで、色々調べた結果。
どうやら、layoutとして、TabWidgetを使ってることが原因っぽい。
Android1.5では同じソースは動いてたのに、2.0で同じプロジェクトを立ち上げると、このエラーが出てしまう。
よくよく同じ人をGoogleさんちで探してみると、Issue 2021としてGoogle code Androidに登録されておりました。
あぁ。やっぱね。
さて、TabWidgetで楽して実現すんのあきらめて、ちゃんと他のめんどい方法でやりますか。はぁ。。。
ちなみに、そのエラーは長いけどこんなん。
java.lang.NullPointerException
at android.widget.TabWidget.dispatchDraw(TabWidget.java:105)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.View.draw(View.java:5841)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:400)
at
com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.computeLayout(Unknown
Source)
at
com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.recomputeLayout(Unknown
Source)
at com.android.ide.eclipse.editors.layout.GraphicalLayoutEditor.activated(Unknown
Source)
at com.android.ide.eclipse.editors.layout.LayoutEditor.pageChange(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:697)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:628)
at com.android.ide.eclipse.editors.AndroidEditor.selectDefaultPage(Unknown Source)
at com.android.ide.eclipse.editors.AndroidEditor.addPages(Unknown Source)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:146)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:283)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:263)
at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:398)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2688)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98)
at
org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125)
at
org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:328)
at
org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:690)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:433)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:857)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
2010/10/17
1.Prepare your development computer:
1.Prepare your development computer:をクリックすると、
まずは以下のことが書いてあります。
貴方のPCのOSがこの中に入っていますか?ということを聞いています。
Windowsの人は、Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)の内、どれかならOKです。
32bitとか64bitとか言う記述に困惑するかと思いますが、家庭用に普通に買ったものなら大抵32bitものですので、XPかVistaかWindows7ならOKだと思ってください。
64bitものは、サーバーを作りたい人とかが、特別に選んで買ったりするものなので、普通の人はお目にかかりませんので、ご安心を。
次に、進むと、
Eclipseというソフト開発ツールと連携して開発ができますということが書いてあります。
簡単に言うと、
まずは、以下のところ
AndroidアプリはJava言語で開発されるので、当然必要となりますので、以下の手順でインストールします。
JDK5 or JDK6と記述されている場所のリンクをクリックすると、色々ありますが、ここでは、以下の
"Java Platform, Standard Edition"と書かれている場所の"Download JDK"をClickします。
出てきたページから、Platformを”Windows”としてContinueを押すと、例えば、jdk-6u22-windows-i586.exeなどのインストーラがダウンロードできます。
※UserNameなど求められますが、書かなくてもダウンロードできます。
ダウンロードしたら、インストーラをクリックしてインストールします。
続いて、
まずは以下のことが書いてあります。
Supported Operating Systems
- Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)
- Mac OS X 10.5.8 or later (x86 only)
- Linux (tested on Linux Ubuntu Hardy Heron)
- 64-bit distributions must be capable of running 32-bit applications. For information about how to add support for 32-bit applications, see the Ubuntu Linux installation notes.
貴方のPCのOSがこの中に入っていますか?ということを聞いています。Supported Operating Systems
- Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)
- Mac OS X 10.5.8 or later (x86 only)
- Linux (tested on Linux Ubuntu Hardy Heron)
- 64-bit distributions must be capable of running 32-bit applications. For information about how to add support for 32-bit applications, see the Ubuntu Linux installation notes.
Windowsの人は、Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)の内、どれかならOKです。
32bitとか64bitとか言う記述に困惑するかと思いますが、家庭用に普通に買ったものなら大抵32bitものですので、XPかVistaかWindows7ならOKだと思ってください。
64bitものは、サーバーを作りたい人とかが、特別に選んで買ったりするものなので、普通の人はお目にかかりませんので、ご安心を。
次に、進むと、
Supported Development Environments
Eclipse IDE
- Eclipse 3.4 (Ganymede) or 3.5 (Galileo) Caution: There are known issues with the ADT plugin running with Eclipse 3.6. Please stay on 3.5 until further notice.
- Eclipse JDT plugin (included in most Eclipse IDE packages)
- If you need to install or update Eclipse, you can download it from http://www.eclipse.org/downloads/. Several types of Eclipse packages are available for each platform. For developing Android applications, we recommend that you install one of these packages:
- Eclipse IDE for Java EE Developers
- Eclipse IDE for Java Developers
- Eclipse for RCP/Plug-in Developers
- Eclipse Classic (versions 3.5.1 and higher)
- JDK 5 or JDK 6 (JRE alone is not sufficient)
- Android Development Tools plugin (optional)
- Not compatible with Gnu Compiler for Java (gcj)
Eclipseというソフト開発ツールと連携して開発ができますということが書いてあります。Supported Development Environments
Eclipse IDE
- Eclipse 3.4 (Ganymede) or 3.5 (Galileo) Caution: There are known issues with the ADT plugin running with Eclipse 3.6. Please stay on 3.5 until further notice.
- Eclipse JDT plugin (included in most Eclipse IDE packages)
- If you need to install or update Eclipse, you can download it from http://www.eclipse.org/downloads/. Several types of Eclipse packages are available for each platform. For developing Android applications, we recommend that you install one of these packages:
- Eclipse IDE for Java EE Developers
- Eclipse IDE for Java Developers
- Eclipse for RCP/Plug-in Developers
- Eclipse Classic (versions 3.5.1 and higher)
- JDK 5 or JDK 6 (JRE alone is not sufficient)
- Android Development Tools plugin (optional)
- Not compatible with Gnu Compiler for Java (gcj)
簡単に言うと、
- Eclipseってソフトの3.4と3.5ってver.に対応してるよ。3.6はまだ待っててね。
- EclipseはIDE(統合開発環境)を含んでるやつにしてね。
- JDK5 か JDK6を入れといてね。
まずは、以下のところ
- JDK5 or JDK6 (JRE alone is not sufficient)
AndroidアプリはJava言語で開発されるので、当然必要となりますので、以下の手順でインストールします。
JDK5 or JDK6と記述されている場所のリンクをクリックすると、色々ありますが、ここでは、以下の
"Java Platform, Standard Edition"と書かれている場所の"Download JDK"をClickします。
出てきたページから、Platformを”Windows”としてContinueを押すと、例えば、jdk-6u22-windows-i586.exeなどのインストーラがダウンロードできます。
※UserNameなど求められますが、書かなくてもダウンロードできます。
ダウンロードしたら、インストーラをクリックしてインストールします。
続いて、
- Eclipse 3.4 (Ganymede) or 3.5 (Galileo)
と色々ありますが、今回は、Eclipse3.5(Garileo)を入れます。
”OlderVersion” > "Eclipse Galileo SR2 Packages (v 3.5.2) " > "Eclipse IDE for Java Developers"
の順に辿り、
右欄の”Windows 32-bit”をクリックし、"eclipse-java-galileo-SR2-win32.zip"をダウンロードします。
ダウンロード後、解凍しておけばよいです。
また、他に次のような記述がありますが、
Other development environments or IDEs
- JDK 5 or JDK 6 (JRE alone is not sufficient)
- Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
- Not compatible with Gnu Compiler for Java (gcj)
Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.
Other development environments or IDEs
- JDK 5 or JDK 6 (JRE alone is not sufficient)
- Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
- Not compatible with Gnu Compiler for Java (gcj)
Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.
ま、今回は、eclipseを使うので気にしません。
また、次の項目は、各ソフトの容量のことです。心配な方だけチェックすればよいと思います。
Hardware requirements
The Android SDK requires disk storage for all of the components that you choose to install. The table below provides a rough idea of the disk-space requirements to expect, based on the components that you plan to use.
Component type Approximate size Comments
SDK Tools 50 MB Required.
Android platform (each) 150 MB At least one platform is required.
SDK Add-on (each) 100 MB Optional.
USB Driver for Windows 10 MB Optional. For Windows only.
Samples (per platform) 10M Optional.
Offline documentation 250 MB Optional.
Note that the disk-space requirements above are in addition to those of the Eclipse IDE, JDK, or other prerequisite tools that you may need to install on your development computer.
Hardware requirements
The Android SDK requires disk storage for all of the components that you choose to install. The table below provides a rough idea of the disk-space requirements to expect, based on the components that you plan to use.| Component type | Approximate size | Comments |
|---|---|---|
| SDK Tools | 50 MB | Required. |
| Android platform (each) | 150 MB | At least one platform is required. |
| SDK Add-on (each) | 100 MB | Optional. |
| USB Driver for Windows | 10 MB | Optional. For Windows only. |
| Samples (per platform) | 10M | Optional. |
| Offline documentation | 250 MB | Optional. |
Note that the disk-space requirements above are in addition to those of the Eclipse IDE, JDK, or other prerequisite tools that you may need to install on your development computer.
Androidアプリ開発環境の整え方
Android関連の情報はかなりオープンに公開されています。
そのため、Androidアプリを作ろうと思ってる
開発環境の準備などの各種情報はすべてhttp://developer.android.com/に記載されているのですが、なにしろ英語なんで、それで挫折する人多いんじゃないでしょうか。
ここでは、Eclipseという開発環境でAndroidアプリを作る手順を公式ページの方法に沿いながら解説したいと思います。
まず、公式のhttp://developer.android.com/sdk/index.htmlを見ると、次のような記述があります。
以下、簡単に用語説明
Eclipse:Java言語のソフト開発環境のこと。これを使って主に開発を行います。
SDK:SofrwareDevelopmentKitの略。ソフトウェア開発環境キットのこと。
ADT:AndroidDevelopmentToolsの略。Android開発用ツール群のこと。
そのため、Androidアプリを作ろうと思ってる
開発環境の準備などの各種情報はすべてhttp://developer.android.com/に記載されているのですが、なにしろ英語なんで、それで挫折する人多いんじゃないでしょうか。
ここでは、Eclipseという開発環境でAndroidアプリを作る手順を公式ページの方法に沿いながら解説したいと思います。
まず、公式のhttp://developer.android.com/sdk/index.htmlを見ると、次のような記述があります。
Quick Start
- Prepare your development computer:
前準備 - Download and install the SDK starter package:
ソフトウェア開発キットのインストール方法 - Install the ADT Plugin for Eclipse:
EclipseにAndroid開発ツールと連携する方法 - Add Android platforms and other components to your SDK:
Android開発環境やその他の機能を追加する方法
以下、簡単に用語説明
Eclipse:Java言語のソフト開発環境のこと。これを使って主に開発を行います。
SDK:SofrwareDevelopmentKitの略。ソフトウェア開発環境キットのこと。
ADT:AndroidDevelopmentToolsの略。Android開発用ツール群のこと。
2010/10/06
Androidケータイって?
ケータイでAndroidケータイとかって騒がれるようになったけど・・・
Androidってそもそも何?って方はけっこう多いと思います。
簡単に言うと、Androidというのは、
携帯端末での全体の動きを制御する仕組みの名前のことなんです。
(厳密に言うと、携帯だけじゃなく、タブレットPCや、家電などにも使える仕組みです)
PCで言うと、Windows、MacOSなどのOS(基本ソフト)とニュアンスは遠くないかな。
つまり、Androidという仕組み上で動くソフトウェアを作った場合、Androidケータイと呼ばれるケータイのどれもでそのソフトウェアは動くということです。
ふーん・・・じゃ、なんで、このAndroidが騒がれての?って言うと、
このAndroidは、無償で誰にでも中身が公開され、自由に開発したりできるというところなんですよ。
普通だと、こういった仕組み(Windowsとか)は、中身は外部には非公開で、中身は開発した会社が独占して開発できるってのが一般的。
しかし、このAndroidは、Google,Incが開発したものなんですが、
なんと、Googleさんは、中身を万人に公開して、しかも自由に開発して使っていいよってことにしちゃったんですよね。
さすがGoogleさん。太っ腹。
こういった、中身を公開して自由に使っていいよってのをオープンソースって言うのですが、
オープンソースであると、利用者(開発者)には、次のようなメリットがあると言われています。
- 無料でその仕組みを使える
- なにか問題があった場合に、中身を見れる為、自分で解決できる可能性がある
- その仕組みに独自機能を追加することも可能
ま、もちろん、公開しているGoogleにも、メリットはあります。
このように、開発者が参入しやすいので、この仕組みを開発したり、開発された製品を利用する人が増えれば、この仕組みは、携帯端末業界の中でデファクトスタンダード(Defact Standard:事実上の標準)となり、Googleは携帯市場を独占できるので、おいしいってのもあるのです。
ってことで、最近余裕が出てきたので、そろそろ暇つぶしに私もやってみようかなっと。
ゆくゆくは、iPhoneアプリの一つでも作れるようになれたらいいなー・・・
ってことで、近いうちに少しずつAndroidアプリ開発する備忘録を作成予定。
登録:
投稿 (Atom)


