7 Mrlove133481

尚未进行身份认证

Android源码,Android应用,开发工程师

等级
TA的排名 21w+

一台电脑配置多个SSH KEY,多个用户身份提交代码

前言当想在同一台电脑上用多个用户身份提交代码,例如:在公司电脑上用公司用户名提交代码,用私有用户名提交自己的代码到github上,可以使用下面的方法。生成 SSH KEY①执行命令ssh-keygen -t rsa -C "your_email@example.com"创建github对应的sshkey,命名为id_rsa_github$ ssh-keygen -t rsa -C "you...

2020-01-22 17:31:36

git 更改现有提交记录中的用户名称和/或电子邮件地址

更改作者信息git要修改历史历史记录中所有提交用户名称和/或电子邮件地址,可以在仓库根目录下执行如下操作:①新建如下脚本rename.shrename.sh#!/bin/sh#更改提交中所有邮箱为OLD_EMAIL的为新的用户名和新的邮箱git filter-branch --env-filter 'OLD_EMAIL="your-old-email@example.com"COR...

2020-01-22 16:18:13

Room,数据库框架学习三(数据库的版本管理,数据库字段增加数据的迁移)

升级数据库:1.首先要修改版本号2.迁移数据//.fallbackToDestructiveMigration() 不保留数据,迁移数据

2020-01-21 10:21:03

Room,数据库框架学习二(使用RecyclerView和databinding)

前言Room,数据库框架学习一上一篇中我们简单的搭建了一个用Room数据库框架完成的demo,这一篇我们将结合RecyclerView和databinding的形式实现数据的加载,进一步完成项目。关于项目的搭建可以参照前一篇文章。①首先把上一篇布局中的TextView去掉,换成RecyclerView,然后增加一个switch开关按钮。<?xml version="1.0" enco...

2020-01-20 09:58:46

Room,数据库框架学习一(Room框架搭建)

概念Room设计到的概念有以下几个:1、Entity : 对应数据库中的表,可以使用Entity注解将一个类变成数据库中的一张表结构。2、DAO : 全称Database Access Object,定义了对数据库中数据的读写等操作,DAO中可以使用SQL语句来操作数据库。3、RoomDatabase : 数据库持有类,用于创建数据库或者连接到数据库。内部包含DAO和Entity。Ent...

2020-01-19 10:26:29

LifeCycles(让组件感知生命周期,Activity进一步解耦)

首先在build.gradle文件中添加一下依赖android { dataBinding.enabled = true 。。。 } dependencies { implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0-rc02' 。。。}然后创建一个类继承V...

2020-01-16 17:00:10

SavedStateHandle的使用,临时保存数据

当使用Savedstate保存数据之后,后台进程关闭,数据 也会得到保留首先在build.gradle文件中添加一下依赖android { dataBinding.enabled = true 。。。 } dependencies { implementation 'androidx.lifecycle:lifecycle-extens...

2020-01-15 13:50:19

DataBinding的使用,实现数据的解耦

DataBinding与控制层Controller和ViewModel及ViewGroup三者之间的关系。首先创建一个了类继承ViewModelpublic class MyViewModel extends ViewModel { private MutableLiveData<Integer> number; public MutableLiveData&l...

2020-01-14 16:39:57

LiveData与MutableLiveData详解

前言LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).LiveData是干什么的?由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可...

2020-01-14 15:09:38

ViewModel的简单使用

首先创建一个类继承ViewModelpublic class MyViewModel extends ViewModel { public int num = 0;}然后在mainActivity中通过ViewModelProviders.of(this).get(MyViewModel.class)得到myviewmodel这个实例对象。 @Override prote...

2020-01-14 14:25:50

android 跳转到应用通知设置界面(Android 8.0以上)

boolean areNotificationsEnabled = mNotificationManagerCompat.areNotificationsEnabled(); if (!areNotificationsEnabled) { // Because the user took an action to create a notification...

2020-01-09 09:35:03

Android暗码启动应用程序

ProductInfo应用分析ProductInfo结构:①AndroidManifest.xml 为应用的 Java 软件包命名。软件包名称充当应用的唯一标识符。 描述应用的各个组件,包括构成应用的 Activity、服务、广播接收器和内容提供程序。它还为实现每个组件的类命名并发布其功能,例如它们可以处理的 Intent 消息。这些声明向 Android 系统告知有关组件以及可以启...

2020-01-07 14:16:28

Android App多语言开发 github案例

关键代码解析/** * 如果不是英文、简体中文、繁体中文,默认返回简体中文 * * @return */ private Locale getLanguageLocale() { int languageType = CommSharedUtil.getInstance(mContext).getInt(MultiLanguageU...

2020-01-07 14:04:45

广播接收者BroadcastReceiver启动Activity需要加FLAG_ACTIVITY_NEW_TASK

BroadcastReceiver启动Activity需要加FLAG_ACTIVITY_NEW_TASKBroadcastReceiver->onReceive的时候传进来的context是ReceiverRestrictedContext,然而ReceiverRestrictedContext的代码很简单,里面没有startActivity方法,而ReceiverRestrictedCo...

2020-01-07 11:49:39

工作疑问点

①服务器编译脚本的选择,使用默认的serverbuild.sh,还是每次编译命令都需要找人提供?首单:默认使用serverbuild.sh(除非SPM或VPM提出需求)SMR/MR售后维护:默认延用首单的编译命令翻单:根据翻单需求情况,决定是否定制编译脚本,不添加定制编译脚本,则使用serverbuild.shPs:任何不确定的地方,都可以在team或项目群里提出疑问。事前了解清楚比事后解...

2019-10-18 14:58:52

33. 修复FTM apk(开机)和FTM(关机)没有OTG测试项

( 其他没有的手机测试项也可以参照此方法修改 )开机模式下:按*#*#8#*#*查看是否有OTG选项关机模式下:按音量下键和电源键查看①修复开机模式:打开vendor/tinno/k210/qmb_pk/etc/apeftm,将ftm-config.xml中如图所示OTG值改为1,将ftm-config.xml push到apeftm.mk中所示位置,就可以本地验证是否修改成功②修复关机...

2019-10-14 16:25:09

借鉴笔记

电话靠近手机熄屏幕在updateProximitySensorMode函数中,判断是否开启基于距离传感器的亮灭屏功能,设置screenOnImmediately。如果是通话中,并且screenOnImmediately 为false,则开启距离传感器的亮灭屏功能。否则关闭距离传感器功能,则靠近屏幕不会息屏。Log分析系统根据log类型,分为main,radio,events,system,...

2019-10-12 14:25:51

Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VREVRE = “Hello World!”elseendififeq ($(OPT),define)VRE ?= “Hello World! First!”endififeq ($(OPT),add)V...

2019-10-10 17:04:17

31.Android翻单项目如何初始化

31.翻单项目如何初始化①首先在要进行翻单的定制化项目下新建reorder_config文件夹,如下图所示:②文件夹内复制qmb_pk翻单项目里面需要覆盖的文件,一般是如下图所示这些文件:(各文件作用参考:26.订单目录简介)③修改编译脚本,首先复制当前项目编译脚本进行定制化修改,如下图所示④erverbuild_k210_pk.sh文件内修改内容可以参考其他同基线翻单项目修改,注意脚本...

2019-09-30 15:59:05

30.ota包上传服务器失败后,进入后台手动上传图解

30.ota包上传服务器失败后,进入后台手动上传图解①进入后台后,在项目管理中,搜索当前项目名,项目名获取方式如下:②搜索页面如下:③看发布日期选择正确的项目,点击配置按钮④进入配置页面后,按照图示操作⑤点击测试IMEI管理,在搜索栏搜索对应项目,再点击重置所有...

2019-09-30 15:57:51

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。