![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android 开发笔记
amberoot_源狼乐
It isn't the burdens today that drive me mad,it is the regrets over yesterday and the fear of tomorrow.
展开
-
Android8.0以上实现APP(应用)开机自启动
小米手机设置开机启动应用权限(Android9.0 / MIUI11.0.6)设置—>应用设置—>授权管理—>自启动管理—>打开相应APP的自启动权限(这里只允许了应用可在手机开机时启动后台服务) 设置—>应用设置—>授权管理—>应用权限管理—>选中对应APP—>设置允许应用在后台弹出界面(要想开机打开相应界面或打开浮窗还要打开这个权限,默认是关闭的)荣耀平板设置开机启动应用权限(Android8.0 / EMUI8.0.0)设置—...原创 2020-07-14 10:08:58 · 10491 阅读 · 1 评论 -
Java 之 静态数组和动态数组ArrayList的使用方法与实例
数组的使用方法与实例数组属于引用数据类型,如下,把intArray传递给anotherArray,会发生引用传递。即改变anotherArray的值的同使也会改变intArray的值,因为intArray和anotherArray都是指向同一块内存空间。int[] intArray = { 1, 2, 3, 4, 5 };//引用传递int[] anotherArray = intA...原创 2019-07-05 17:06:25 · 1273 阅读 · 0 评论 -
android之bitmap和byte[]互转
//drawable转bitmapBitmap imageBitmap = BitmapFactory.decodeResource(myContext.getResources(), R.drawable.example);//bitmap转bytesByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, byt.原创 2020-05-22 17:13:59 · 1047 阅读 · 0 评论 -
Android之ViewPager与Fragment
功能是利用viewpager,通过按钮 btn1 和按钮 btn2 切换fragment1页面和fragment2页面。下面是activity_main.xml布局文件:(底部两个按钮,上面一个ViewPager)<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLa...原创 2019-12-06 15:12:08 · 164 阅读 · 0 评论 -
Android之获取当前Activity名称
一、创建类ActivityCollectorpublic class ActivityCollector { public static List<Activity> activities=new ArrayList<>(); public static void addActivity(Activity activity) { activ...原创 2018-06-22 11:06:42 · 6308 阅读 · 0 评论 -
Android之常用框架简单说明
数据库框架 SQLiteOpenHelper · 特点:Android自带 · SQLiteOpenHelper类(抽象类),需要创建类继承。 ·SQLiteOpenHelper类中有两个抽象方法需要重写:onCreate()\onUpgrade() ·SQLiteOpenHelper有2个重要的实例方法:getReadableDatab...原创 2018-05-25 12:01:14 · 267 阅读 · 0 评论 -
Mac版Android Studio 之常用快捷键
command + n可快捷自动写构造函数及其他常用函数(例如get/set函数),非常实用control + R运行项目Alt + /根据代码记录自动补全代码command + /注释或取消注释选中区域F1快速浏览类或方法的文档Alt + Enter有提示错误时,这快捷键会根据错误帮你纠正错误,例如会自动添加缺少的头文件Shift + F6快捷修改类、方法、变量、常量等名称按 command ...原创 2018-05-25 09:59:20 · 335 阅读 · 0 评论 -
android之DatePickerDialog与TimePickerDialog的简单例子
private void showSetDateDialog() { //获取当前时间 Calendar cal= Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int day = cal.get(Calendar...原创 2018-05-07 17:42:29 · 426 阅读 · 0 评论 -
Android Toolbar使用
1. 应用//获取Toolbar布局Toolbar toolbar = findViewById(R.id.toolbar);//方法将Toolbar实例传入setSupportActionBar(toolbar);//添加系统返回按钮在toolbarActionBar actionBar = getSupportActionBar();if (actionBar != null) {...原创 2018-05-07 14:58:19 · 259 阅读 · 0 评论 -
Android之Material Design之可刷新的滑动列表(RecyclerView)
Material Design控件的简单介绍:Toolbar — 加强版ActionBar,用setSupportActionBar()方法将Toolbar实例传入 (app:showAsAction-用来指定按钮的显示位置)。 DrawerLayout — 用于滑动菜单。 FloatingActionButton — 悬浮按钮。 Snackbar — 可交互式提示。 Coordina...原创 2018-06-01 18:10:59 · 890 阅读 · 1 评论 -
Android之RecyclerView嵌入CheckBox显示问题解决(列表单选)
这里RecyclerView嵌入CheckBox时滑动列表,列表item中的会产生错位现象,解决这个问题需在Adapter中onBindViewHolder方法中处理。下面的例子是列表单选,所以只设定了一个整型变量来保存当前选中的CheckBox,若是多选,可用List保存列表所有CheckBox的选中状态。 1. 设置CheckBox的标签为position+1,即CheckBox的标签从...原创 2018-06-02 11:02:08 · 1430 阅读 · 0 评论 -
Android之数据库Realm使用说明
Github官网(Java版):https://github.com/realm/realm-java现在Realm的最新版是5.11.0Realm的特点:手机数据库:Realm是第一个手机数据库,数据库从基础搭建到运行都是在手机/平板/智能佩戴设备上。 使用简单:数据可以直接通过代码查询到,消除了对象关系映射ORM的性能和维护问题。使用直观方便,几分钟便可运行起来。 现代化...原创 2019-05-09 10:49:40 · 712 阅读 · 0 评论 -
Android之数据库Realm的环境配置
Github官网(Java版):https://github.com/realm/realm-java现在Realm的最新版是5.11.0Realm的特点:手机数据库:Realm是第一个手机数据库,数据库从基础搭建到运行都是在手机/平板/智能佩戴设备上。 使用简单:数据可以直接通过代码查询到,消除了对象关系映射ORM的性能和维护问题。使用直观方便,几分钟便可运行起来。 现代化:支持...翻译 2019-05-09 10:17:42 · 414 阅读 · 0 评论 -
Android之数据库Realm之迁移Migrate实例
使用Realm时,设定好model类,直接使用Realm.getDefaultInstance()就可以直接创建跟model类相对应的表格。但有时候需要更新表格或添加或减少表格,就要更新model类了。但直接更新model类是不行的,会报错,要进行migrate迁移操作才能成功更新图表。另外,还没用过realm的同学们可以参考https://blog.csdn.net/amberoot/art...原创 2019-07-04 14:45:52 · 1120 阅读 · 3 评论 -
Android之获取Fragment和activity的宽和高
获取Fragment的宽高@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //获取屏幕宽高 Point size = new Poin...原创 2019-07-04 16:50:52 · 2628 阅读 · 0 评论 -
android之简易画板(涂鸦)实例(透明背景)
一、创建变量//DoodleViewprivate Paint mPaint = new Paint();private List<Path> mPathList = new ArrayList<>(); // 保存涂鸦轨迹的集合private float mLastX, mLastY;private Path mCurrentPath; // 当前的...原创 2019-09-18 15:57:49 · 1039 阅读 · 0 评论 -
android 连接SQL Server数据库并进行数据操作
前言:在做具体操作时先需要把jtds-1.2.jar 包放到libs目录当中(1.2是版本号,可用更新的版本)。连接数据库需在子线程操作,不能在主线程。下面栗子的表名为LoginUser,有UserName\UserPwd\OrderNumber 三列。UserName UserPwd OrderNumber admin 123 0 amberoot...原创 2018-05-09 17:38:23 · 10412 阅读 · 5 评论 -
android 把数据保存到文件中的实例
/** * 把数据写入文件 * @param data * @param fileName */ public void writeDataToFile(String data,String fileName) { FileOutputStream out; BufferedWriter writer = null;...原创 2018-04-09 11:41:28 · 2627 阅读 · 0 评论 -
Android 语言切换(eclipse)
1. 在res目录下新建values-en文件夹存放英语的字符串文件strings.xml,再新建values-zh文件夹存放中文的的字符串文件strings.xml。2. 更新configuration的locale属性,代码如下/** * 切换语言 */ private void switchLanguage(Locale locale) {原创 2017-05-02 16:47:51 · 947 阅读 · 0 评论 -
Android之自定义对话框Dialog
自定义Dialog,布局自定义,所以布局文件(layout_alert.xml)就不贴了,直接贴代码:public void showAlertDilog(Context context,String mes) { if (dialog != null) { if (!dialog.isShowing()) { ...原创 2017-05-11 13:48:16 · 295 阅读 · 0 评论 -
integer与int的比较
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。 首先看代码:转载 2017-05-04 11:06:08 · 222 阅读 · 0 评论 -
Android之简单Tab的制作
第一步:先设计好布局,我弄了四个小RelativeLayout,每个就是一个Tab,里面包含一个imageview和一个button,其button可以用textview代替。代码: ...原创 2017-05-05 17:04:33 · 420 阅读 · 0 评论 -
Android 新建文件夹和文件
要在安卓手机SD卡(或外部存储)上新建文件夹或文件有如下几个步骤:1. 添加权限(在AndroidManifest.xml文件里添加)<!-- 允许在外部存储器即SD卡上添加或删除系统文件--><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />&l...原创 2017-04-25 09:57:52 · 5606 阅读 · 0 评论 -
Android 动画(anim)详解
转载于:http://www.2cto.com/kf/201412/358203.html Android的animation由四种类型组成:alpha(透明度)、scale(缩放)、translate(位移)、rotate(旋转)android:alpha渐变透明度动画效果android:scal转载 2017-05-16 18:05:57 · 6028 阅读 · 0 评论 -
Android UDP的解析与实例
转载自:http://book.51cto.com/art/201203/322540.htm一、使用DatagramSocket发送、接收数据原理Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,DatagramSock...转载 2017-05-09 09:44:39 · 1264 阅读 · 0 评论 -
android UDP实例
这是我在网上查资料再根据自己情况修改过的代码,主要内容是UDP客户端发送和接收数据,点一下按键就发送数据,然后马上接收数据,设置阻塞时间为3秒。等待3秒后没有接收到服务端数据就自动再次发送数据,循环5次,5次还是没有接收到数据就停止发送数据,宣布接收数据失败。代码如下:新建UDPThread类:public class UDPThread extends Threa...原创 2017-05-09 15:56:12 · 754 阅读 · 0 评论 -
Android布局实现圆角边框
第一步:在工程的drawable文件夹下新建一个corner.xml文件,里面代码如下:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@...转载 2017-04-27 11:15:29 · 415 阅读 · 0 评论 -
android 广播详解与实例(Broad Receiver)
主要内容包括:一、接收系统广播二、发送自定义标准广播(标准广播异步执行,所有广播器接收到广播信息,但无法被截断)三、发送自定义有序广播(标准广播同步执行,广播器接收广播信息有先后顺序,优先级搞定广播接收器可截断信息)原创 2017-05-09 16:10:15 · 346 阅读 · 0 评论 -
保存Activity中的临时数据
在APP的使用过程中经常会有Activity跳转,当前的Activity跳转到secondActivity时,当前的Activity里的临时数据就会丢失,例如用户输入的内容,用以下方法就可以保存Activity中的临时数据。public class UserActivity extends Activity { @Override protected void onCr原创 2017-05-10 14:55:35 · 609 阅读 · 0 评论 -
android 代码设置按钮(button)按下与弹起背景
1. 代码设置按钮基本参数//获取布局FrameLayout layout = findViewById(R.id.frame2);//(LinearLayout)findViewById(R.id.ll);//获取按钮视图View fra = LayoutInflater.from(this).inflate(R.layout.cos_button,null);MyBu...原创 2018-04-08 17:58:49 · 2257 阅读 · 0 评论 -
android TCP客户端实例
前言:将socket开启,发送和接收分开在3个子线程,发送和接收数据互不影响。1.开启socket子线程public class StartSocketThread implements Runnable { public static Socket socket; Message msg_main = MainActivity.myhandler.obtainMess...原创 2018-04-09 10:08:32 · 4180 阅读 · 0 评论 -
android SharedPreferences的使用(保存数据到文件中)
SharedPreferences方式保存数据,是把数据根据关键字保存到XML文件中的。特点是即使程序退出,数据也还会在,除非的卸载了程序。1. 保存数据://保存数据SharedPreferences.Editor editor = getSharedPreferences("Project", Context.MODE_PRIVATE).edit();editor.putStri...原创 2018-04-09 11:25:24 · 1050 阅读 · 0 评论 -
Android 获得目标文件夹里的所有的文件名
首先要获得目标文件夹的路径path,再用path.listFiles()读取目标文件夹中的所有文件,把文件放到数组files里。public static ArrayList getPathFilesName(String filePath) { File path = new File(filePath);// 获得路径 // File path = new Fi...原创 2017-05-02 11:05:27 · 1487 阅读 · 0 评论