Android Uiをすばやく理解する方法 -- linux フィールド と user-interface フィールド android 関連 問題

How to quickly understand the Android UI


4
vote

問題

日本語

私はWindows、MacOS、iPad、Linux UIの経験がありますKDEのようなものです。ただし、Androidデバイスを使用していません。ただし、それがどのように機能し、比較するかは実際にはわかりません。私の一般的な理解は、それがGnomeのようなLinuxインターフェイスに似ているということですが、AndroidのレイヤーがJavaのレイヤー、 DALVIK / ART Virtual Machine 、LinuxカーネルとUI要素の間。

Android 開発者の概要をUI に読みました。 UIがワークフローベースからどのように動作するかを理解するのを本当に助けていない。

明らかに私はただAndroidタブレットを購入して数ヶ月間使用することができましたが、私がAndroid UIと他の主要なUIとどのように異なるかを理解するために何らかの方法があることを願っています。この知識を得るにはどうすればいいですか?

英語

I have experience with Windows, the MacOS, the iPad and Linux UI's like KDE. I have not used an Android device however so I do not really understand how it works and compares. My general understanding is that it is similar to Gnome-like Linux interfaces, but I guess there must be some differences since Android has a layer of Java, the Dalvik/ART virtual machine, between the Linux kernel and the UI elements.

I have read the Android developer overview to the UI but that has not really helped me understand how the UI operates from a workflow basis.

Obviously I could just buy an Android tablet and use it for a few months, but I am hoping there is some way for me to understand the Android UI and how it differs from other major UIs. How can I get this knowledge?

     

回答リスト

4
 
vote
Linux OSESカーネルの起動 998877665443330 < 998877655443330 <コード> 仮想コンソールのプロセスを処理します。そこで、ユーザーがCLIにログインでき、シェル(<コード> 998877666654333 )がコマンド実行のために開かれています。 windowning system 、 XorgまたはWaylandのようなディスプレイサーバー、 998877666544335 はグラフィカル GUIのユーザー資格情報を要求するSDDMまたはGDMのようなDisplay Manager 。認証後、デスクトップ環境。 KDEまたはGNOMEが開始されたウィンドウマネージャとデスクトップのようなコンポーネント、タスクバー/パネルを表示します。ファイルエクスプローラ、Webブラウザ、ターミナルエミュレータなどのアプリケーションのウィジェットのウィンドウ、ウィジェット、通知、およびウィンドウ。

Android は主に単一のユーザー用に設計されているので、CLIログインの概念はありません。実際、デフォルトでは仮想端末/コンソールはカーネルで無効になっています。 <コード> bash6

- Surface Flingerを含むすべてのネイティブサービスを開始した後(Androidのディスプレイサーバー) - 9988776654337 のサービスを開始します。これは、Javaのような仮想マシンをフォークするための特別なプロセスです。 Androidのコアフレームワーク(<コード> 998877666544338 )とすべてのアプリはVMの別々のインスタンスで実行されます。 <コード> system_server 多くのシステムアプリを含め、起動時に実行されるように構成されているアプリを起動します。

では、起動アニメーションの終了後に表示されるものは、システムUI アプリです。このアプリはロック画面、ステータスバー、通知などを担当しています。<コード> getty0 <コード>は、アクティビティマネージャ、Permissions Manager、およびWindow Managerなど、100個以上のJavaサービスを実行しています。 WMはSurface Flingerと通信して、<コード> 99888776665443311 とAppsによって要求された画面上のサーフェスを描画します。私たちが見るもう1つのコアコンポーネントは、デスクトップのような home またはランチャーアプリです。これは、少なくともインストールされているアプリのアイコンを表示し、アプリのアイコンをタップするときにアプリを起動/表示するための 998877666544312 に要求を転送します。だから私たちがAndroidデバイスで見るすべてのものはアプリです。

 

On Linux OSes kernel starts init which starts getty which starts login process on virtual console(s). There a user can login on CLI and a shell (like bash) is opened for command execution. In windowing system, init starts a Display Server like Xorg or Wayland and login is replaced with a graphical Display Manager like SDDM or GDM which asks for user credential on GUI. After authentication a Desktop Environment e.g. KDE or GNOME is started which starts its Window Manager and shows components like Desktop, Task Bar / Panel, Widgets, Notifications, and windows of applications such as a File Explorer, Web Browser, Terminal Emulator etc.

Android is primarily designed for a single user, so there's no concept of CLI login. In fact virtual terminals/consoles are disabled in kernel by default. init - after starting all native services including Surface Flinger (Android's Display Server) - starts a service named zygote which is a special process to fork Java-like Virtual Machines. Android's core framework (system_server) and all apps run in separate instances of VMs. system_server starts apps which are configured to run on boot, including many system apps.

So what we see after the boot animation ends is System UI app. This app is responsible for showing lock screen, status bar, notifications etc. system_server has 100+ Java services running inside it including Activity Manager, Permissions Manager and Window Manager. WM communicates with Surface Flinger to draw surfaces on screen as requested by system_server and apps. Another core component we see is a Home or Launcher app which is somewhat like a Desktop. It shows, at least, icons of all installed apps and forwards the request to system_server for launching/showing the app when we tap an app icon. So everything we see on an Android device is an app.

 
 
1
 
vote

Androidデバイスを使用するだけです。

タブレットや電話を買いたくない場合は、GenyMotion、Bluestacks、またはAndroid SDKからの古典的なエミュレータのようなAndroidエミュレータをインストールしてくださいが、これらのどれもあなたに実際のデバイスで使用して遊ぶのと同じ経験を与えるでしょう。

多くのチュートリアルを見ることもできます 初心者のためのAndroid開発 これはあなたにいくつかの有用な情報を提供しますが、直接的な経験はありません

私はAndroidファンとしてだけでなく、経験豊富なAndroid開発者

としても言っています。
 

Only by using Android device.

If you don't want to buy a tablet or phone, just install Android emulator like Genymotion, Bluestacks or a classic emulator from Android SDK, but none of these would give you the great experience as using and playing with real device.

You can also watch many tutorials like Android Development for Beginners which provides you a some useful information, but no direct experience

I'm saying this not only as a Android fan, but also as experienced Android Developer

 
 

関連する質問

0  UbuntuのAndroid Studio 3 17.04では、接続されているデバイスのNexus 7が表示されていません  ( Android studio 3 in ubuntu 17 04 not see nexus 7 in connected devices to run the ) 
Ubuntu 17.04とNexus 7でAndroid Studio 3.1.1を使用しています。 Android Studioアプリを実行するウィンドウ内の「接続されているデバイス」のリストにデバイスを表示しません: href="https://i....

1  Linux Deploy:新しいディスクイメージ(サイズ)を作る...失敗  ( Linux deploy making new disk image size fail ) 
私はAndroid 4.3 / Slimkat 4.4.4を使って、私の根付きギャラクシーS3にLinux展開を試みています。しかしインストールを押すと: <事前> <コード> 9988776655443331 ...

25  Linux上のADBによってデバイスが検出されますか?  ( How do i get my device detected by adb on linux ) 
私はちょうど私の光沢のある新しい wileyfox swift ""を持っていて、私はそれを使う前に私は<コード> oem unlock と根本的なものを使用したい(私は通常新しいデバイスで行うので)。 usb-debugging デバイスで有効になってお...

16  USBケーブルを使用して、Android携帯電話からUbuntu PCにファイルを転送する方法?  ( How to transfer files from an android phone to a ubuntu pc by using a usb cable ) 
IMはまったく新しいユーザーと熟練したものです。私は電話でビデオを作りました。 LはそれをUbuntu PCに転送するのですか?私はUSBケーブルに差し込まれていますが、私のPCは電話機を見ません。助けてくれてありがとう ...

2  ASUS EEE PADスライダでデュアルブートUbuntuをデュアルブートする方法(SL101)  ( How to dual boot ubuntu on asus eee pad slider sl101 ) 
私は私のASUSスライダーSL101(オリジナルのTF101 ASUS EEE PADトランスフォーマーのいとこ)でChroot環境でUbuntuを実行することができます。 しかし、さまざまな理由で、私は実際にUbuntuまたはAndroidに起動することがで...

2  Linuxカーネル4.4 Androidデバイス  ( Linux kernel 4 4 android devices ) 
私はすべてのデバイスがLinuxカーネル4.4以降を実行しているものを見つけようとしています。今まで私はカーネル4.4を実行しているSony Xperiaデバイスのみを見つけることができました。 4.4 Linuxデバイスを取得しようとしていた理由は、私の...

3  起動時に実行可能ファイルを実行して実行し続ける方法は?  ( How to run an executable on boot and keep it running ) 
998877766666654330 プログラムから実行可能なビルドを持っています。根ざしたAndroidデバイスで実行したいです。 Androidが私の実行可能ファイルを殺す可能性はいくらですか? <コード> ./executable1 、次のコマンド...

3  サムスンギャラクシータブS2ブートループ(標準回復が機能していません!)  ( Samsung galaxy tab s2 in bootloop standard recovery not working ) 
こんにちは熱狂的なコミュニティ!私はあなたの助けとアドバイスが必要だろう! デバイス: サムスンギャラクシーTAB S2(SM-T819) Android 6秒針〜&gtで購入しました。先週Android 7 に更新されました 根付いていない、オリジナ...

12  UbuntuからAndroidへのストリームサウンド  ( Stream sound from ubuntu to android ) 
誰かが私を呼び出すときにデスクトップとAndroidの間の私のヘッドセットを再現することにうんざりしました。 Ubuntuから音を流れている方法はありますか( pulseaudio )WiFiまたはUSB上のAndroid携帯電話にAndroid携帯電話にはあ...

10  PCに接続するとNexus 7にSDカードフォルダがありません  ( Nexus 7 doesnt have sdcard folder when connected to pc ) 
私はちょうどNexus 7を購入しました。ファイルを転送する方法 「ADB PUSH」は良い選択ではないと思います。 ...

6  WindowsまたはOS Xに同期するときにのみ利用可能な機能はありますか?  ( What functionality is only available when syncing to windows or os x ) 
私はAndroid携帯電話(おそらくギャラクシーの変種)を購入することを検討しています。しかし、私はLinuxを実行します(gentooが問題な場合)。だから、私はLinuxと働くもの、そして私の電話をWindowsまたはOS X PCに同期させないことによっ...

0  カーネルレベルで私のAndroid携帯電話からGPS機能を無効にするにはどうすればよいですか。  ( How can i disable the gps functionality from my android phone at the kernel leve ) 
カーネルレベルで私のAndroid携帯電話からGPS機能を無効にする方法は?私はこれが必要であることを知っています(ただし、わからない)GPSまたはカーネルモジュールのいずれかのデバイスドライバを無効にするが、正確にそれを行う方法をどうやって実行するか? カー...

10  ADBで行ったTWRPバックアップを抽出します  ( Extract twrp backups made with adb ) 
私は系統とTWRPを備えたサムスンギャラクシーS2 GT-I9100スマートフォンを持っています。毎週次のコマンドでバックアップを作成します。 <事前> <コード> twrp-20170322.ab1 998877666544332 オプションもオプショ...

1  UbuntuまたはGentoo上で直接Androidアプリを実行しています  ( Running android apps directly on ubuntu or gentoo ) 
UbuntuやGentooのようなLinuxディストリビューションに直接Androidアプリケーションを実行することは可能ですか? Google Chroomで、VirtualBox、VirtualBoxのようなシミュレータの助けを借りずにLinux上のアプ...

26  Shellコマンドを使用し、その下のLinuxシステムと対話する方法は?  ( How can i use shell commands and interact with the linux system underneath ) 
AndroidはLinuxに基づいており、その下にLinuxカーネルを持っています。シェルコマンドを使用してLinuxシステムと直接対話できる方法はありますか?例えば。 Linuxシステムにアクセスできるシェルアプリケーション? ...




© 2021 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有


Licensed under cc by-sa 3.0 with attribution required.