2011年09月04日

Android document翻訳 〜Application Fundamentals編〜(1)


Application Fundamentals
アプリケーションの根幹



Android applications are written in the Java programming language. The Android SDK tools
compile the code along with any data and resource files into an Android package, an
archive file with an .apk suffix. All the code in a single .apk file is considered to
be one application and is the file that Android-powered devices use to install the application.


AndroidアプリケーションはJavaプログラミング言語で記述されている。Android SDK toolsは
Androidパッケージ(.apkという拡張子を持つアーカイブファイル)内の様々なデータやリソース
ファイルと連動して、そのコードをコンパイルする。単一のapkファイル内の全てのコードは
単一のアプリケーションであると見做され、またAndorid対応端末がアプリケーションをインストール
するために使用するファイルでもある。


Once installed on a device, each Android application lives in its own security sandbox:

・The Android operating system is a multi-user Linux system in which each application is a
different user.

・By default, the system assigns each application a unique Linux user ID (the ID is used only
by the system and is unknown to the application). The system sets permissions for all the
files in an application so that only the user ID assigned to that application can access them.

・Each process has its own virtual machine (VM), so an application's code runs in isolation
from other applications.

・By default, every application runs in its own Linux process. Android starts the process when
any of the application's components need to be executed, then shuts down the process when
it's no longer needed or when the system must recover memory for other applications.



端末にインストールされると、個々のAndroidアプリケーションは自身のセキュリティー・サンドボックス
内で動く。

・Android OSはマルチユーザのLinuxシステムであり、各々のアプリケーションは異なったユーザとなる。

・デフォルトでは、システムは各々のアプリケーションに対して、ユニークなLinuxユーザIDを割り当てる。
(そのIDはシステムが使用するものであり、個々のアプリケーションが関知するものではない)
システムはアプリケーション内の全てのファイルについて、そのアプリケーションに割り当てられた単一の
ユーザIDだけがそれにアクセスできるようパーミッションをセットする。

・各々のプロセスは自身のVMを保持しており、従って、あるアプリケーションのコードは他のアプリケーション
とは隔絶されている。

・デフォルトでは、全てのアプリケーションは自身のLinuxプロセス上で動いている。アプリケーションの
コンポーネントが実行される必要がある場合、Androidはプロセスをスタートさせる。その際、すでに不要に
なったプロセスや、ほかのアプリケーションのためにメモリをリカバリしなければならない場合に
プロセスをシャットダウンする。



In this way, the Android system implements the principle of least privilege. That is, each
application, by default, has access only to the components that it requires to do its work
and no more. This creates a very secure environment in which an application cannot access
parts of the system for which it is not given permission.


このようにして、Androidシステムは最小の権限(least privilege)原則を採用している。つまるところ、
デフォルトでは、各々のアプリケーションはその動作上必要となるコンポーネントのみにアクセスできる
のである。これは、パーミッションが与えられていないシステムの一部にはアプリケーションはアクセス
できないという、非常にセキュアな環境を作りだす。


However, there are ways for an application to share data with other applications and for an
application to access system services:

・It's possible to arrange for two applications to share the same Linux user ID, in which case
they are able to access each other's files. To conserve system resources, applications with
the same user ID can also arrange to run in the same Linux process and share the same VM
(the applications must also be signed with the same certificate).

・An application can request permission to access device data such as the user's contacts,
SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application
permissions must be granted by the user at install time.



しかし、あるアプリケーションが他のアプリケーションとデータを共有したり、システムサービスにアクセス
する方法も存在する。


・2つのアプリケーションが同一のLinuxユーザIDを共有するように調整することが可能である。その場合、
これらのアプリケーションが互いのファイルにアクセスできる。システムリソースを保存するために、
同一のユーザIDを持ったアプリケーションは同一のLinuxプロセス上で動き、同一のVMを共有する。
(これらのアプリケーションは同一の証明書に署名されていないければならない)

・アプリケーションは端末情報にアクセスする権限を要求することができる。端末情報とは、電話帳や
SMSメッセージ、SDカード、カメラ、ブルートゥースなどである。全てのアプリケーションの権限は
アプリケーションインストール時にユーザによって承諾されなくてはならない。



That covers the basics regarding how an Android application exists within the system. The rest of
this document introduces you to:

・The core framework components that define your application.

・The manifest file in which you declare components and required device features for your application.

・Resources that are separate from the application code and allow your application to gracefully optimize
its behavior for a variety of device configurations.


Androidアプリケーションがシステム内にてどのように存在しているのかということについての記述を、この文書は
包括する。これ以降、この文書は以下を紹介していく。

・アプリケーションを定義するアプリケーションフレームワークのコア

・アプリケーションのためにコンポーネントの宣言やデバイス・フィーチャーを要求するのに使用する
マニフェストファイル

・アプリケーションコードと切り離され、様々なデバイス・コンフィグレーションに対してアプリケーションの
振る舞いを最適化させるリソースについて
posted by sandman at 17:05| Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

2011年08月13日

無料SVNサービス「unfuddle」を使おう!

ここで紹介したソースをどっかに公開できないものかと
無料のSVNサービスを探していたらunfuddleというなかなかよさげなもの発見。

Software Project Management Git and Subversion Hosting

ちょっと登録してみました。
以下手順。

@トップページからsign upタグをクリックして一番左の「private FREE」を選択
1.png


A新規登録画面に必要事項を入力する
2.png

Bログイン後、「Repositories」タグを選択し、新規リポジトリ作成
3.png

これでめでたくSVNリポジトリが作成できました。
このSVNリポジトリをEclispeからつなげてみます。

CEclispe-[ウィンドウ]-[パースペクティブを開く]-[SVNリポジトリ・エクスプローラ]から
 左がわペインを右クリックして新規作成
4.png

D適当なプロジェクトを選択して、右クリックし、[チーム]-[プロジェクトの共有]を選択
5.png

Eunfuddleのページからプロジェクトが登録されていることを確認
6.png

これでソース置き場ができた!と思ったが、まだこのブログで全然ソースを公開していないことに
ふと気づく。書かなきゃなあ。
posted by sandman at 17:26| Comment(0) | その他技術ネタ | このブログの読者になる | 更新情報をチェックする

2011年08月03日

榎本ナリコ 『センチメントの季節』



この漫画を人に勧めると、2〜3ページぺらぺらとめくって
「なんだ、エロ漫画じゃん」
と言うのだけれど、ちょっと待ってほしい。

まあ確かにエロ漫画には違いないのだけど、ただのエロ漫画ではないのだ。
ちょっと我慢して読んで欲しいのである。

『センチメントの季節』は、女子高生を主人公にしたオムニバスストーリー形式であり
その全てにセックスシーンがあるが、エロいというよりむしろけだるいと言ったほうがいい。
思春期の少女の性を、女性作者の自虐的で生々しい視点から描いている。

少女たちはみな物憂げだ。
自らの実質的な矮小さと、男たちが自分の性に群がってくるという事実との間に
どうしようもない不条理を感じている。
そして開花していく肉体とは反比例して、精神は不感症に陥っていく。

彼女たちは自分が花であることを自覚している。
そして、花が散っていくことも当然予見している。
彼女たちは退廃的にセックスし、金のために売春もするが、
それは快楽のためでなく、むしろ自傷的な衝動の成せる業であるのだと思う。
いや、もしかしたら快楽を求めること自体が自傷なのかもしれない・・・

読後、非常に虚無的な気分になるという稀有なエロ漫画である。

また、台詞回しにかなりのセンスを感じる。
じっとりとした部屋の中で、男と延々とセックスしている女子高生がその部屋を
「沼の底」みたいだと表現しているシーンがあったが、あれは素晴らしかった。

作者は榎本ナリコという方だが、僕は『センチメントの季節』以外読んだことがない。
きっとほかも面白いだろうと思うのでチェックしてみよう。



posted by sandman at 23:30| Comment(0) | 漫画 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。