Android Studio

2020年最新 Android 面试点梳理,新手必看避免踩雷,轻松拿offer!

限于喜欢 提交于 2020-07-29 10:35:54
现在想想,移动互联网的发展不知不觉已经十多年了,Mobile First 也已经变成了 AI First。换句话说,我们已经不再是“风口上的猪”。移动开发的光环和溢价开始慢慢消失,并且正在向 AI、区块链等新的领域转移。移动开发的新鲜血液也已经变少,最明显的是国内应届生都纷纷涌向了 AI 方向。 ​ 可以说,国内移动互联网的红利期已经过去了,现在是增量下降、存量厮杀,从争夺用户到争夺时长。比较明显的是手机厂商纷纷互联网化,与传统互联网企业直接竞争。另外一方面,过去渠道的打法失灵,小程序、快应用等新兴渠道崛起,无论是手机厂商,还是各大 App 都把出海摆到了战略的位置。 其实如果你技术深度足够,大必不用为就业而忧愁。每个行业何尝不是这样,最开始的风口,到慢慢的成熟。Android初级在2019年的日子里风光不再, 靠会四大组件就能够获取到满意薪资的时代一去不复返。 经过一波一波的淘汰与洗牌,剩下的都是技术的金子。就像大浪褪去,裸泳的会慢慢上岸。 而真正坚持下来的一定会取得不错成绩。毕竟Android市场是如此之大。从Android高级的蓬勃的就业岗位需求来看,能坚信我们每一位Android开发者的梦想 。 接下来我们针对Android高级展开的完整面试题。 Android 基础 Activity 生命周期 A 打开 B 界面,会先执行 A 的 onPause,再执行 B 的

Android 简单记事本

瘦欲@ 提交于 2020-07-29 10:11:40
写在前面 课程作业需要,于是忙活好几天抄了一个简单的记事本,使用已学内容包括Android UI布局,Activity的跳转,SQLite数据库。 开发环境:Android Studio 源码链接: https://github.com/zsy0216/Notepad 目录 写在前面 一.界面预览 二.基本实现 一.界面预览 主界面 编辑界面 长按删除 二.基本实现 布局实现代码 初始界面功能,最上方标题下为用户创建的各条记录,点击进行修改,长按删除,最下方有 添加笔记 按钮进行笔记的增加操作。实现的布局文件有初始界面 activity_main.xml (里面包含可以以列表的形式展示数据内容的ListView控件)、 note_item (ListView对应的item布局,以显示每个条目信息)、 note_editor (新建文本编辑界面)、 activity_show (文本修改界面) activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width=

像写Flutter一样开发Android原生应用

喜你入骨 提交于 2020-07-29 08:51:35
要问到Flutter和Android原生App,在开发是有何区别,编程方式是绕不开的话题。Flutter采用声明式编程,Android原生开发则采用命令式编程。 声明式编程 VS. 命令式编程 我们首先要明确的,是何为声明式编程,何为命令式编程。 何为声明式编程 摘录一段来自百度百科的定义: 声明式编程通常被定义为除命令式以外的编程范式。同时存在一些其他的定义,这些定义不是简单的将声明式编程和命令式编程做对比,例如: 声明式编程是告诉计算机需要计算“什么”而不是“如何”去计算; 任何没有副作用的编程语言,或者更确切一点,任何引用透明的编程语言; 任何有严格计算逻辑的编程语言。 这些定义有一些是重合的。 简单地理解:声明式编程就是告诉“机器”你想要的是什么,让机器想出如何去做。 何为命令式编程 依旧先看它的定义(来自百度百科): 命令式编程(英语:Imperative programming),是一种描述计算机所需作出的行为的编程典范。几乎所有计算机的硬件工作都是命令式的;几乎所有计算机的硬件都是设计来运行机器码,使用命令式的风格来写的。 简单地理解:命令式编程就是需要我们命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。 举例说明 举个例子,看下面两种解决问题的方法: 方法一: 蔬菜.做成菜(蔬菜沙拉) 方法二: 洗干净(蔬菜) 混合

Android Studio TCP客户端实现

[亡魂溺海] 提交于 2020-07-29 06:57:45
最近在做一个机器人的项目,需要用到TCP通讯这个东西。需要在手机做一个客户端,然后上去网上查了巨久巨多代码,为了避免让有需要的人少走弯路,就做一篇博文来推一下自己的做法,如果各位大大们有什么好的建议,也希望各位可以在评论区写下高见抑或是邮箱到1262706641@qq.com。 首先是布局文件的代码: < ? xml version = "1.0" encoding = "utf-8" ? > < RelativeLayout xmlns : android = "http://schemas.android.com/apk/res/android" android : layout_width = "match_parent" android : layout_height = "match_parent" android : orientation = "vertical" > < RelativeLayout android : layout_width = "match_parent" android : layout_height = "wrap_content" android : layout_alignParentTop = "true" > < EditText android : id = "@+id/ip" android : layout_width =

Android 简单记事本

∥☆過路亽.° 提交于 2020-07-29 06:22:09
写在前面 课程作业需要,于是忙活好几天抄了一个简单的记事本,使用已学内容包括Android UI布局,Activity的跳转,SQLite数据库。 开发环境:Android Studio 源码链接: https://github.com/zsy0216/Notepad 目录 写在前面 一.界面预览 二.基本实现 一.界面预览 主界面 编辑界面 长按删除 二.基本实现 布局实现代码 初始界面功能,最上方标题下为用户创建的各条记录,点击进行修改,长按删除,最下方有 添加笔记 按钮进行笔记的增加操作。实现的布局文件有初始界面 activity_main.xml (里面包含可以以列表的形式展示数据内容的ListView控件)、 note_item (ListView对应的item布局,以显示每个条目信息)、 note_editor (新建文本编辑界面)、 activity_show (文本修改界面) activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width=

Android | 超简单集成HMS ML Kit实现最大脸微笑抓拍

ⅰ亾dé卋堺 提交于 2020-07-28 20:20:45
前言   如果大家对HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的APP啦。目前就有小伙伴在调用接口的过程中反馈,不太清楚HMS ML Kit 文档中的MLMaxSizeFaceTransactor这个接口的使用方法。为了让大家更加深刻的了解我们的接口,方便在场景中使用,在这篇文章中小编准备抛砖引玉,大家可以打开思路,多多尝试。如果有小伙伴想要深入的了解更加全面具体的功能,请大家移步 https://developer.huawei.com/consumer/cn/hms/huawei-mlkit 。 场景   相信大家都有在五一、十一出去游玩的经历,是不是都是这样的people mountain people sea.   好不容易找个人少的地方,结果拍出来的照片是这样的。   这样的   还有这样的   不看不知道,原来我的面部表情这么丰富。。是不是很心累?每次想要发个出去浪的朋友圈,都要在白天拍的成百上千张类似款的照片里,花上一小时才能找到一张能看的照片。。。   为了解决类似问题,HMS ML Kit 提供了追踪识别画面中最大脸的接口,能够识别图像中的最大脸,方便对跟踪图像中的”重点目标“做相关操作和处理。本文中就简单的调用MLMaxSizeFaceTransactor这个接口,实现最大脸微笑抓拍的功能。 开发前准备 android

手把手教你如何快速构建应用内消息推送与运营能力

不羁岁月 提交于 2020-07-28 07:55:25
  自行搭建消息推送平台成本太高,为了降低开发成本,由第三方平台推送,依然存在安全风险,怎么办?   为了保证用户体验和运营效果,部分平台需要应用开发者协同进行UI、统计等相关的功能开发,操作过程复杂,怎么办?   别担心,应用内消息可以解决您的这些困扰。 什么是应用内消息?   为了提高产品功能和营销活动的用户参与度,我们需要定期的向用户推送消息。而自行搭建消息推送平台成本太高,为了降低成本,通常选择第三方平台推送。而应用内消息提供了包含消息定义、传递、展示、调试、分析的全流程应用内消息支撑功能,可以帮助您低成本、快速构建应用内消息推送与运营能力。 手把手教你如何使用“应用内消息(App Messaging)” 步骤序号 步骤说明 步骤详情 1 使用入门 App Messaging服务依赖App Messaging SDK,在创建或接收应用内消息前您应该先在AGC中为您的应用开通App Messaging服务并集成App Messaging SDK,详情请参见 使用入门 。 2 创建应用内消息 在向用户展示一个应用内消息前,您需要在AGC上创建一个消息,选择消息的样式、设置发送目标、投放时间等,详情请参见创建 App Messaging 。 3 展示应用内消息 消息在AGC发布后,如果达到消息的触发条件,App Messaging SDK会自动在应用内向用户展示消息

Android/iOS内嵌Unity开发示例

删除回忆录丶 提交于 2020-07-28 06:25:42
Unity 与 Android/iOS 交叉开发主要有两种方式,以 Android 为例,一是 Android 生成 jar 或者 aar 包,导入到 unity3d plugin/bin/ 目录下; 二是 Unity 导出 Android 工程,在 Android Studio 中作为库继续开发 。网上的教程几乎全是第一种方式,而本文主要分析第二种方式。 这种方式可以在移动端的 NativeApp 中以,库的形式集成已经写好的 Unity 工程,利用 Unity 游戏引擎便捷的开发手段进行跨平台开发。 Unity官方文档 Unity as a Library integration example to iOS and Android 以下以安卓平台作为示例。 环境 Android Studio 3.5.3 Unity version 2019.3.7f1 新建工程 Android Studio 新建项目: Unity 新建项目: 最终工程结构如下: Unity导出 通过 Unity 打开 UnityProject 选择 File -> Build Settings -> Switch Android Platform -> Export Project 这时候选择Export可能会提示JDK路径配置出错,没关系我们到 Preference -> Externl Tools

在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)

无人久伴 提交于 2020-07-28 06:12:44
方式一:网站下载:https://androidsdkmanager.azurewebsites.net/SDKPlatform 方式二、设置HTTP Proxy 1. 打开Settings 2. 点击HTTP Proxy,选择Manual proxy configuration: 设置 Host name 为:mirrors.opencas.cn(备用服务器地址:mirrors.opencas.org mirrors.opencas.ac.cn) 设置 Port number 为:80 3. 点击Android SDK,选择SDK Update sites,勾选上Force Https://…,点击Apply 4. 点击ok,重新进入Android SDK即可 最近设置代理已经不好用了,如果未能成功请尝试第二种方式 方式二、更改hosts文件 1. 首先取消方式一中设置的HTTP Proxy 2. 进入网站http://ping.chinaz.com/,进行 dl.google.com ping检查,选择大陆响应时间最短的IP地址 3. 进入cmd对此IP地址进行ping测试,如果可以将(IP地址 dl.google.com)加入hosts文件中 hosts文件地址:C:\WINDOWS\System32\drivers\etc\hosts 4. 点击Apply、OK