自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Android城市索引含定位和热门城市(悬浮块+右侧字母索引

public void onlisten(){pic_contact_back.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});mAdapter.setOnItemContentClickListener(new IndexableAdapter.OnItemContentClickListener() {@Overridepublic voi

2021-11-19 14:03:39 1882

原创 Android图形图像处理,android小游戏开发实例

Paint类常用方法Paint类代表画笔,用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息。使用Paint类时,首先要创建它的实例对象,然后通过该类提供的方法来更改Paint对象的默认设置。Paint类提供的常用方法如下:| 方法 | 描述 || — | — || setAlpha(int a) | 设置透明度 || setARGB(int a, int r, int g, int b) | 绘制颜色 || setColor(int color) | 设置颜色 || setSha

2021-11-19 14:00:47 249

原创 Android友盟三方登录、微信新浪分享成功不走回调,移动开发工程师简历

友盟分享成功后不需要导入任何包友盟分享个人小坑1、自定义分享面板中QQ空间分享(withTargetUrl)url会失败,但是单独用new ShareAction((Activity) context).setPlatform(SHARE_MEDIA.QZONE).withTargetUrl(url)就可以使用;2、新浪微博分享(withTargetUrl)url会失败,.withText(url)也是可以的。微信openid和UnionID (多公众号如何判断是否是同一人)区别通过获取用户基本信

2021-11-19 13:54:56 380

原创 Android动画之属性动画,android开发网易新闻

1.透明动画:alpha2.位移动画:translationX,translationY3.旋转动画:rotation4.缩放动画:scaleX,scaleY5.组合显示:AnimatorSet(动画集合容器)1.透明动画:alpha2.位移动画:translationX,translationY![在这里插入图片描述](https://img-blog.csdnimg.cn/20190808144950607.png?x-oss-process=image/watermark,type_Zm

2021-11-19 13:51:54 1286

原创 Android入门项目(四)AsyncTask异步加载图片和模拟进度条

1,异步消息处理机制咱们先来了解一下Handler相关概念,这里先上图:Handler负责发消息,Looper是一个消息队列,主要负责接收Handler发送的消息,并处理之后回传给Handler。而MessageQueue是一个存储消息的容器,Looper会不断的从MessageQueue中取出消息。联想:我们可以把Handler看成是小明同学,Looper是老师。小明同学向老师请假,得向老师发消息,老师收到消息之后回复小明。当然实际中不仅仅只有请假一个消息,可能小明还要上厕所,还有想和女神坐同桌等

2021-11-19 13:49:19 1757

原创 Android修改情景模式的默认值,移动端app开发流程

[SOLUTION]一,针对每个情景模式的默认值修改:1,默认铃声是统一在alps/build/target/product/core.mk文件中设置,其中ro.config.notification_sound表示通知的默认铃声,ro.config.ringtone表示语音来电和视频来电的铃声,若希望语音来电和视频来电分开设置,请参考FAQ08273 [Audio Profile]如何设置视频来电铃的默认铃声:PRODUCT_PROPERTY_OVERRIDES:=ro.config.notifi

2021-11-19 13:46:29 1544

原创 Android之内存泄漏调试学习与总结,android面试题最新

Bitmap对象不在使用时调用recycle()没有及时释放如果一个Bitmap对象比较占内存,当它不在被使用的时候,可以调用Bitmap.recycle()方法回收此对象的像素所占用的内存4.没有及时释放对象的引用简单举个例子:比如两个Activity之间传递的Context 或其它的自定义对象,使用完后必须立即释放 即:Activity = null ; Context = null ; Object = null;可以的话在这释放对象之后通知系统来回收:System.gc();这样最好了.

2021-11-19 13:43:51 113

原创 Android与单片机---开发板---智能硬件---智能设备---数据协议--开发总结

既然把byte转为了8个bit位,那我们又怎么再把bit转回为byte呢?/**8个bit位转为byte*/public static byte bit2Byte(byte[] bytes) {if (bytes.length != 8) return 0;String binary = “”;byte result;for (byte b : bytes) {binary += b;}if (bytes[0] == 0) {// 正数result = (byte) Inte.

2021-11-19 13:40:58 911

原创 Android——套接字Socket,含BATJM大厂

}};// 定义一个主机检查线程private class CheckThread extends Thread {private String mHostName; // 主机名称public CheckThread(String host_name) {mHostName = host_name;}public void run() {// 获得一个默认的消息对象Message message = Message.obtain();try {// 根据主机名称获得主机名称对象

2021-11-19 13:37:48 199

原创 Android 音视频开发——录屏直播,android开发基础在线培训学校

观看手游直播时,我们观众端看到的是选手的屏幕上的内容,这是如何实现的呢?这篇博客将手写一个录屏直播 Demo,实现类似手游直播的效果获取屏幕数据很简单,Android 系统有提供对应的服务,难点在于传输数据到直播服务器,我们使用 RtmpDump 来传输 Rtmp 数据,由于 RtmpDump 使用 C 语言实现,我们还需要用到 NDK 开发,单单用 Java 无法实现哈,当然如果不怕麻烦的话,还可以自己编译 Ffmpeg 实现 Rtmp 推流,B 站开源的 ijkplayer 播放器也是基于 Ffmpe

2021-11-18 10:20:14 238

原创 Android 面试总结 - ViewModel 是怎么保存和恢复?,h5开发移动端页面

@Overridepublic void handleRelaunchActivity(ActivityClientRecord tmp,PendingTransactionActions pendingActions) {…handleRelaunchActivityInner(r, configChanges, tmp.pendingResults, tmp.pendingIntents,pendingActions, tmp.startsNotResumed, tmp.overrideCon

2021-11-18 10:17:21 123

原创 Android 设置开放隐性启动Intent,头条面试android

startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));但是并不是所有的设置界面都可以直接调用,比如说恢复出厂设置的二级界面(packages/apps/Settings/src/com/android/settings/MasterClear.java)。通过“android.settings.BACKUP_AND_RESET_SETTINGS”调用的只是“备份和重置”一级界面,并不是我需要的恢复出厂。不过有

2021-11-18 10:14:45 191

原创 Android 网络框架之Retrofit源码解析,2021华为Android面试真题解

**(2)defaultCallAdapterFactories:**获取默认的CallAdapter.Factory,用于创建CallAdapter;**(3)defaultConverterFactories:**获取默认的数据转换工厂ConverterFactory,用于创建转换器Converter;总结:Platform主要是用于适配不同的平台,用于获取默认的Executor,请求适配器工厂类CallAdapterFactory,数据转换工厂类ConverterFactory等;4.2、.

2021-11-18 10:11:30 295

原创 Android 点击Url(短信链接)打开App,android高级工程师面试题

1、 测试一下=======通过手机的短信、便签等方式通过点击地址(https://www.myapp.com)(www.myapp.com)就可以直接唤起我们自己的APP了也可以通过命令行工具adb shell am start -W -a android.intent.action.VIEW -d “https://www.myapp.com”这样我们就实现了点击了一个链接,跳转到了我们的App2、遇到的问题:========每次点击总是会出现一个弹框让我二次确认(一般是选

2021-11-18 10:08:29 453

原创 android 方式实现imageview圆角,Android开发究竟该如何学习

if (type == TYPE_CIRCLE) {mWidth = Math.min(getMeasuredWidth(), getMeasuredHeight());mRadius = mWidth / 2;setMeasuredDimension(mWidth, mWidth);}}/**设置BitmapShader绘制*/@Overrideprotected void onDraw(Canvas canvas) {if (getDrawable() ==

2021-11-18 10:05:54 92

原创 Android 性能优化:手把手带你全面了解内存泄露,成长路线图

由于1个集合中有许多元素,故最简单的方法 = 清空集合对象 & 设置为null// 释放objectListobjectList.clear();objectList=null;5.2 Static 关键字修饰的成员变量储备知识 被 Static 关键字修饰的成员变量的生命周期 = 应用程序的生命周期泄露原因 若使被 Static 关键字修饰的成员变量 引用耗费资源过多的实例(如Context),则容易出现该成员变量的生命周期 > 引用实例生命周期的情况,当引用实例需结.

2021-11-18 10:03:03 118

原创 Android 开发规范(完结版),Android多线程实现方式及并发与同步

名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如 HTML、URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。类描述例如Activity 类Activity 为后缀标识欢迎页面类 WelcomeActivityAdapter 类Adapter 为后缀标识新闻详情适配器 NewsDetailAdapter解析类Parser 为后缀标识首页解析类 HomePosterParser工具方法类Utils 或 Manager 为

2021-11-18 09:57:31 521

原创 Android 开发岗往年至今年高频面试题整(内含参考答案)

AlertDialog并不会影响Activity的生命周期,按Home键后才会使Activity走onPause->onStop,AlertDialog 只是一个组件,并不会使 Activity 进入后台5.两个 Activity 之间跳转时必然会执行的是哪几个方法?前一个 Activity 的 onPause,后一个 Activity 的 onResume6.Fragment 状态保存 onSaveInstanceState 是哪个类的方法,在什么情况下使用?在对应的 FragmentAc

2021-11-18 09:54:22 86

原创 Android Studio Debug 的 9 个小技巧,h5移动端开发面试题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9Gx7WYB-1637128301219)(https://user-gold-cdn.xitu.io/2019/11/4/16e3411493b0f1f4?imageView2/0/w/1280/h/960/ignore-error/1)]这样我们相同关键字的 log 就会被折叠,当然也可以展开查看详细 log。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mWLXn9yi-1637128

2021-11-17 13:51:56 305

原创 Android ShapeableImageView使用详解,告别shape、三方库

app:strokeWidth=“4dp” />app:strokeColor 描边颜色app:strokeWidth 描边宽度注意这里padding的数值是描边宽度的一半,后面会说切角<com.google.android.material.imageview.ShapeableImageViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layo

2021-11-17 13:49:04 367

原创 Android R 新特性变化,2021Android笔试真题

Android R 版本发布计划Android R 功能演示(Video)Android R 新功能与API特性总结与思考1️⃣ Android Q 主要新特性用于可折叠设备、深色主题、手势导航、连接等新特性可折叠设备[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sj9vbW9G-1637127972759)(https://user-gold-cdn.xitu.io/2020/5/7/171edd4746f2c764?imageView..

2021-11-17 13:46:27 153

原创 Android NDK开发,使用ndk-build编译,写的太详细了

项目或者应用的包名:com.ang.ndkdemopublic class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//创建的本地方法,具体功能在C或者C++中实现public nat

2021-11-17 13:43:13 2180

原创 Android NDK 直播推流与引流,android开发权威指南pdf

@param bitrate@param fps*/public native void setVideoOptions(int width, int height, int bitrate, int fps);/**设置音频参数@param sampleRateInHz@param channel*/public native void setAudioOptions(int sampleRateInHz, int channel);/**发送视频数据..

2021-11-17 13:40:12 157

原创 Android Jetpack 之 App Startup,这个回答让我错失offer

App Startup 的普通使用:==================假设当前有三个Sdk库需要进行初始化 SdkA、SdkB、SdkC:(SdkB、SdkC的code和SdkA的结构一模一样)class SdkA {private object Instance {val instance = SdkA()}companion object{fun getInstance(): SdkA {return Instance.instance}}}创建对应的初始化对象,必须接口&n

2021-11-17 13:37:36 81

原创 Android Handler源码浅析,2021高级Android笔试总结

这应该是大家平时写到吐的代码了吧,主要是从子线程发送一条消息到主线程的过程。消息进队列 (源码解析)创建一个message并赋值obj参数,然后携带message调用了sendMessage方法new Thread(() -> {Message message = Message.obtain();message.obj = “好好学习”;mHandler.sendMessage(message);}).start();**Handler#sendMessage**send

2021-11-17 13:34:46 368

原创 Android Handler 从使用到进阶,apk瘦身工具

handler2 = new Handler(looper, new Handler.Callback() {@Overridepublic boolean handleMessage(@NonNull Message msg) {return false;}});}}).start();}4.MessageMessage就是一个存放消息的类,是一个链表结构。4.1 基本参数public final class Message implements Parcelable {//

2021-11-17 13:32:07 133

原创 Android Binder 原理,android实战项目pdf

信号: 不适用于信息交换,更适用于进程中断控制,比如非法内存访问,杀死某个进程等;2.1 性能:Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,共享不需要内存拷贝;从性能角度看,Binder性能仅次于共享内存。2.2 稳定性:Binder是基于C/S架构的,Client端有什么需求,直接发送给Server端去完成,架构清晰,Server端与Client端相对独立,稳定性较好;而共享内存实现方式复杂,没有客户与服务端之别,需要充分考虑到访问临界资源的并发同步问题,否.

2021-11-17 13:26:05 96

原创 Activity面试题之Intent篇

Action 匹配:Action 是一个用户定义的字符串,用于描述一个 Android 应用程序组件,一个 IntentFilter 可以包含多个 Action。在 AndroidManifest.xml 的 Activity 定义时可以在其 节点指定一个 Action 列表用于标示 Activity 所能接受的“动作”,例如:…… 如果我们在启动一个 Activity 时使用这样的 Intent 对象:Intent intent =new Intent();intent.setAction

2021-11-16 12:01:54 117

原创 Activity生命周期详解

至此,Activity栈中只有A。四、在Android中,有两个按键在影响Activity生命周期这块需要格外区分下,即Back键和Home键。我们先直接看下实验结果:此时如果按下Back键,系统返回到桌面,并依次执行A:onPause -> A:onStop -> A:onDestroy。此时如果按下Home键(非长按),系统返回到桌面,并依次执行A:onPause -> A:onStop。由此可见,Back键和Home键主要区别在于是否会执行onDestroy。此时如果长按Ho

2021-11-16 12:00:15 624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除