如何快速了解Android UI -- linux 领域 和 user-interface 领域 android 相关 的问题

How to quickly understand the Android UI


4
vote

问题

中文

我有Windows,麦克斯,iPad和Linux UI的经验,就像KDE一样。但是,我没有使用Android设备,所以我真的不明白它是如何运作和比较。我的普遍了解是它类似于Gnome的Linux接口,但我想必须有一些差异,因为Android有一层java, dalvik / art虚拟机,在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上 iSs内核启动 init ,它开始 getty ,它开始 login 虚拟控制台上的进程。有用户可以登录CLI和shell(如 bash )打开命令执行。在窗口系统, abcdefghijklmnbcdefghijklmn4 启动a display server ,如xorg或wayland和 login 用图形 display manager ,如sddm或gdm,它要求在GUI上凭据凭据。身份验证后桌面环境启动KDE或GNOME,它启动它窗口管理器并显示桌面,任务栏/面板等组件,文件资源管理器,Web浏览器,终端仿真器等应用程序的小部件,通知和Windows。

android 主要针对单个用户设计,因此没有CLI登录的概念。实际上,默认情况下,内核中禁用虚拟终端/控制台。 init - 启动包括Surface Flinger(Android的Display Server)的所有本机服务 - 启动名为 zygote 的服务,这是一个特殊的进程,它是叉java的虚拟机。 Android的核心框架( system_server )以及在单独的VM实例中运行的所有应用程序。 system_server 启动配置为在启动时运行的应用程序,包括许多系统应用程序。

所以我们在引导动画结束后看到的是系统ui 应用程序。此应用程序负责显示锁定屏幕,状态栏,通知等等。<代码> ABCDefghijklmnabcdefghijklmn10 在其中包含了100多个Java服务,包括活动管理器,权限管理器和窗口管理器。 WM与表面荧光灯连通,以按 AbcdefghijklmnabCdefghijklmn11 和Apps的要求绘制屏幕上的曲面。我们看到的另一个核心组件是 home 启动器应用程序,它有点像桌面。它至少显示了所有已安装应用的图标,并将请求转发给 getty2 以便在点击应用程序图标时启动/显示应用程序。所以我们在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设备。

如果您不想购买平板电脑或手机,只需安装Android仿真器,如Genymotion,Bluestacks或Android SDK的经典仿真器,但这些都不会为您提供使用和使用真实设备的伟大体验。

你也可以看多种教程 初学者的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

 
 

相关问题

1  无法使用Linux访问HTC Desire HD上的本地存储  ( Cannot access local storage on htc desire hd with linux ) 
如果我设置了我的新的HTC Desire HD以连接到PC的磁盘驱动器模式,则Windows计算机可以将内部存储器视为可移动磁盘。如果我用Linux系统尝试同样的话,"HTC Android手机" 简要展示了,但不可能与稍后的瞬间互动。 如何使用我的Linux系统中的HTC Desire HD? (它目前没有micr...

2  与verizon上的moto droid的ubuntu客户端的非root tetering应用程序  ( Non root tethering app with ubuntu client for moto droid on verizon ) 
我喜欢适合Android的Pdanet,在我的Windows机器上工作很棒。不幸的是,我刚刚发现(在安装Ubuntuon我的HP Mini之后)没有Linux客户端。任何人都可以推荐一个系列的应用程序,非root,带有Linux / Ubuntu客户端吗? ...

0  如何在内核级别禁用我的Android手机中的GPS功能?  ( How can i disable the gps functionality from my android phone at the kernel leve ) 
如何在内核级别禁用我的Android手机中的GPS功能?我知道这需要(虽然不确定)禁用GPS或内核模块的设备驱动程序,但是如何完全进行? 通过内核级别,我的意思是,GPS不再像软形式一样,它的硬件仍然存在,但它没有使用。如果我禁用IT应用程序级别,它仍然可以跟踪我,应用程序可能会访问它。我想要的是硬件和软件之间没有通...

6  在与Windows或OS X同步时才能使用哪些功能?  ( What functionality is only available when syncing to windows or os x ) 
我正在考虑购买Android手机(可能是Galaxy S变种)。但我只运行Linux(如果重要)。所以,我很奇怪有什么功能与Linux一起工作,以及是否有任何功能,我是否会不会将手机与Windows或OS X PC同步。 (我在标题中持乐观,假设大多数事情都会工作 - 如果我错了,请纠正我。) ...

2  如何使用Ubuntu 10.04浏览摩托罗拉污染(Android)的文件?  ( How to browse files on a motorola defy android with ubuntu 10 04 ) 
我想用ubuntu浏览我的手机上的文件。 ...

4  如何用Ubuntu Linux root我的Droid x root?  ( How can i root my droid x with ubuntu linux ) 
我的理智是在这里的赌注。我需要root,但我无法访问任何幻想专有的操作系​​统。 我会感谢任何帮助。 ...

8  如何使用Linux系统同步联系人和日历,而无需使用Gmail?  ( How to sync contacts and calendar with linux system without using gmail ) 
如何使用Linux系统同步我的联系人和日历? 我更愿意与我的桌面同步,但是在互联网上设置服务器也是可能的。 我想避免谷歌邮件以获取隐私的原因。 ...

25  如何在Linux上获取我的设备检测到我的设备?  ( How do i get my device detected by adb on linux ) 
我刚刚获得了我的闪亮新的 wileyfox swift - 然后将我使用我想要 oem unlock 和root(因为我通常与新设备有关; )麻烦是,虽然 usb-debugging 在设备上启用,并且存在相应的行<代码> abcdefghijklmn3 存在,因此 adb devices 。 我知道在这个网站上...

7  最佳Linux发行版安装到SD卡用作PC的USB-Bootloader?  ( Optimal linux distro to install to sd card to use as usb bootloader for pc ) 
许多人在USB驱动器上安装基于Linux的发行版,主要是基本的PC故障排除。有没有人尝试在他们的Android手机的SD卡上安装这样的东西?这样,而不是携带一个USB驱动器和手机,可以简单地插入手机,从USB启动PC,并设置关于执行任何必要的行动。有没有人对最适合这项任务的Linux的特定口味有任何建议? ...

4  MTP无法在Android 6下工作  ( Mtp not working under android 6 ) 
我缺乏想法如何获得mtp,再次工作 ......我根本没有在我的android上再次获得对话,问我刚刚充电,或MTP或图片模式... 直到最近,它很简单:使用USB电缆,将其连接到我的Ubuntu 16.04笔记本电脑,获取所提份的选择/批准框... 和voilàpabless作为mtp设备出现在Ubuntu,文...

10  连接到PC时,Nexus 7没有SDCard文件夹  ( Nexus 7 doesnt have sdcard folder when connected to pc ) 
我刚刚买了一个nexus 7.当我将它插入我的笔记本电脑时,它显示媒体文件夹,我想访问SDCard文件夹,就像其他设备一样。如何传输文件? 我认为"adb push" 不是一个不错的选择。 ...

0  Android Studio 3在Ubuntu 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未在窗口中的"连接设备" 列表中未查看设备以运行应用程序: 设备已被激活为具有MTP USB类型的调试USB,并且我已经选择"确定" ,以便每次提示都要求与PC连接USB连接。 它在连接...

3  如何在启动时运行可执行文件并将其保持运行?  ( How to run an executable on boot and keep it running ) 
我有一个来自 ndk-build 程序的可执行构建。我想在rooted android设备上运行它。 Android将杀死我可执行的可能性是多少? 使用 adb shell ,我能够使用以下命令执行我的可执行文件: adb push executable /sdcard adb shell device:/ $ ...

10  提取使用adb制作的TWRP备份  ( Extract twrp backups made with adb ) 
我有三星Galaxy S2 GT-I9100智能手机,带有线系和TWRP。每周一次,使用以下命令备份: adb backup -f twrp-20170322.ab --twrp boot data system 我可以选择使用 --compress 选项。 有没有办法提取 twrp-20170322.ab...

5  设备被识别为?????在Ubuntu  ( Device recognized as in ubuntu ) 
你好堆栈交换的好人,我无法在硬件设备上使用我的Ubuntu 11.04启动以用于应用程序开发。我遵循了指令在这里要尝试并重新加入手机。但是,当我运行adb设备或eclipse时,将该设备列为??????并且不能用来安装应用程序。任何建议? ...

2  如何在华硕EEE Pad滑块上双启动Ubuntu(SL101)?  ( How to dual boot ubuntu on asus eee pad slider sl101 ) 
我能够在我的华硕滑块SL101上运行Ubuntu在Chroot环境中(原始TF101华硕EEE焊盘变压器的堂兄)。 但是,由于各种原因,我希望能够突然启动到Ubuntu或Android。 我目前正在运行Cyanogenmod 9 IC,并将设备扎根。 要注意的另一件事是,过去使用nvflash的任何尝试...似乎失败...

5  试图让PC启动USB附加的Android设备内的可引导SD卡  ( Trying to get a pc to boot off a bootable sd card that is inside an usb attached ) 
首先,我想让自己看起来少于疯子,而不是我似乎是。 我想在所有时间都有一个可引导的USB棒,但它不太方便,因为它是一个额外的对象,忘记等更容易,我想,我有一个Android手机,它有一个微型SD ;完美。 并非所有PC都可以从读卡器启动,但手机本身是卡读卡器作为磁盘驱动器。 或至少所以我想。事实证明,我的上网本BIOS...

12  从Ubuntu到Android的流声  ( Stream sound from ubuntu to android ) 
当有人打电话给我时,我厌倦了在桌面和Android之间重新打开我的耳机。有没有办法从ubuntu流出声音(我使用 pulseaudio )通过WiFi或USB的Android手机? ...

1  adb设备在调试mod中显示电话,但不是fastboot mod  ( Adb devices show phone in debug mod but not in fastboot mod ) 
在调试模式adb设备时,它将显示我的htc魔法。 但是当手机处于FastBoot Mod时,我无法在adb设备中看到我的HTC魔法。 我正在使用ubuntu 10.10, my /lib/udev/rules.d/11-android.rules SUBSYSTEMS=="usb", ATTRS{idVend...

11  如何在没有Windows / Kies的三星Galaxy S上安装官方Android 2.2(Froyo)[复制]  ( How to install the official android 2 2 froyo on samsung galaxy s without wind ) 
这个问题已经在这里有答案: 关闭 10年前。 可能的重复: 如何升级固件我的三星galaxy s没有窗户 froyo已经是终于发布了对于三星Galaxy S.更新似乎仅通过名为Kies的W...

2  Linux内核4.4 Android设备  ( Linux kernel 4 4 android devices ) 
我正在尝试找出所有设备正在运行的Linux内核4.4+并遇到困难的时间。到目前为止,我只能找到运行内核4.4的索尼Xperia设备。 我试图获得4.4个Linux设备的原因是我在我的Ubuntu Linux 4.15上遇到了3.1x的艰难时间编译内核,所以我认为在这方面有一个Linux 4.4设备将很好。我现在正在...

1  Linux部署:制作新磁盘映像(大小)...失败  ( Linux deploy making new disk image size fail ) 
我正在尝试使用带有android 4.3 / slimkat 4.4.4的我的rooted Galaxy S3上的Linux部署。但是当我按安装时: Updating configuration file ... done >>> begin install Checking mount points ... d...

77  基于Android的Linux发行版是什么?  ( What linux distribution is android based on ) 
谷歌使用了一些现有的分发(Debian,Red Hat等)来创建Android,还是他们使用了裸露的必需品(内核,文件系统和一些强制文件)? ...

26  如何使用shell命令并与下面的Linux系统进行交互?  ( How can i use shell commands and interact with the linux system underneath ) 
Android基于Linux,并在下面有一个Linux内核。有没有办法,我可以使用shell命令并与Linux系统直接交互?例如。一个可以访问Linux系统的shell应用程序? ...

16  如何通过使用USB电缆将文件从Android手机转移到Ubuntu PC?  ( How to transfer files from an android phone to a ubuntu pc by using a usb cable ) 
我是完全新的用户和inexpert。我用手机制作了一个视频。 l如何将其转移到Ubuntu PC?我插入USB电缆,但Apparenntly我的电脑看不到手机。谢谢你的帮助 ...

1  直接在Ubuntu或Gentoo上运行Android应用程序  ( Running android apps directly on ubuntu or gentoo ) 
我想知道是否可以直接在像Ubuntu或Gentoo等Linux发行版上运行Android应用程序? 我的意思是在Linux上运行应用程序在没有VirtualBox的帮助下,在Google Chroom上的模拟器(如Genymotion),在Google Chroom ... 是否可以以这样的方式编译Linux内核?...

3  Samsung Galaxy Tab S2在Bootloop中(标准恢复无效!)  ( Samsung galaxy tab s2 in bootloop standard recovery not working ) 
嗨热情社区!我需要你的帮助和建议! 设备: 三星Galaxy Tab S2(SM-T819) 用Android 6秒钟购买 - &gt;上周更新到Android 7 没有植根,原始固件,官方更新(根本没有乱搞......) 我在没有sd卡或sim 的情况下使用它 问题: 在启动循环中粘在一起显示Gala...

5  是否有可能使用蓝牙具有TCP / IP网络?  ( Is it possible to have a tcp ip network using bluetooth ) 
我有我的Android U8220,我需要用我的笔记本电脑拥有一个网络,好像它是ad-hoc wifi连接(tcp / ip)。这是可能的吗?如果您想知道,我正在使用 bluez 在我的Linux框中作为管理器。 编辑 清除疑惑,我将更具体。我的笔记本电脑中有一个音乐节目,称为 mpd 。它由网络中的不同客户端控...

3  在Linux上使用WiFi浏览或安装SD卡?  ( Browse or mount sd card over wifi on linux ) 
有没有办法通过WiFi浏览我的Linux(Ubuntu 10.04)机器的SD卡的内容? 我用来与迷你USB电缆连接,或通过Gmail发送文件。肯定必须通过WiFi访问文件。 我的主要焦点是易用性,我不特别关心速度或安全。虽然我更喜欢非云解决方案,因为隐私问题。 (我还没有积极地搜索解决方案。我现在会这样做,所以也许...

3  客户端 - 服务器Android音频远程  ( Client server android audio remote ) 
我想获得运行Linux的低功耗PC(ARM或ATOM)并控制它通过Android应用程序播放的音乐,有效地成为Logitech的Squeezbox的Androids版本。我不想在框中安装x Windows。有人听说过这样的应用程序吗? ...

相关问题

1  无法使用Linux访问HTC Desire HD上的本地存储 
2  与verizon上的moto droid的ubuntu客户端的非root tetering应用程序 
0  如何在内核级别禁用我的Android手机中的GPS功能? 
6  在与Windows或OS X同步时才能使用哪些功能? 
2  如何使用Ubuntu 10.04浏览摩托罗拉污染(Android)的文件? 
4  如何用Ubuntu Linux root我的Droid x root? 
8  如何使用Linux系统同步联系人和日历,而无需使用Gmail? 
25  如何在Linux上获取我的设备检测到我的设备? 
7  最佳Linux发行版安装到SD卡用作PC的USB-Bootloader? 
4  MTP无法在Android 6下工作 
10  连接到PC时,Nexus 7没有SDCard文件夹 
0  Android Studio 3在Ubuntu 17.04中没有看到连接设备中的Nexus 7运行应用程序 
3  如何在启动时运行可执行文件并将其保持运行? 
10  提取使用adb制作的TWRP备份 
5  设备被识别为?????在Ubuntu 
2  如何在华硕EEE Pad滑块上双启动Ubuntu(SL101)? 
5  试图让PC启动USB附加的Android设备内的可引导SD卡 
12  从Ubuntu到Android的流声 
1  adb设备在调试mod中显示电话,但不是fastboot mod 
11  如何在没有Windows / Kies的三星Galaxy S上安装官方Android 2.2(Froyo)[复制] 
2  Linux内核4.4 Android设备 
1  Linux部署:制作新磁盘映像(大小)...失败 
77  基于Android的Linux发行版是什么? 
26  如何使用shell命令并与下面的Linux系统进行交互? 
16  如何通过使用USB电缆将文件从Android手机转移到Ubuntu PC? 
1  直接在Ubuntu或Gentoo上运行Android应用程序 
3  Samsung Galaxy Tab S2在Bootloop中(标准恢复无效!) 
5  是否有可能使用蓝牙具有TCP / IP网络? 
3  在Linux上使用WiFi浏览或安装SD卡? 
3  客户端 - 服务器Android音频远程 



© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.