Android
DaLiangChen
专注 AR、VR、MR 行业。
展开
-
Android 发送短信
1.界面布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.a原创 2021-06-13 00:25:36 · 3183 阅读 · 2 评论 -
Activity
一、介绍Activity 是 Android 的四大组件之一,主要用于提供窗口与用户进行交互。二、Activity生命周期Activity生命周期如下图:函数 说明 protectedvoidonCreate(Bundle savedInstanceState) Activity被创建,此时不可见 protected void onStart() 界面显示可见 protected voidonRe...原创 2021-06-08 23:05:40 · 9231 阅读 · 0 评论 -
HttpURLConnection 下载图片
1.<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.andro原创 2021-05-27 22:52:23 · 395 阅读 · 2 评论 -
HttpURLConnection
HttpURLConnection基本用法package com.daliang.demo_http1;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Debug;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import ja.原创 2021-05-24 23:15:50 · 215 阅读 · 2 评论 -
ListView
一、什么是ListView?ListView是Android中常用的组件,用来将数据填充到布局和处理用户的选择点击等操作。二、列表的显示需要三个元素ListVeiw 用来展示列表的View。 适配器用来把数据映射到ListView上的中介。 数据具体的将被映射的字符串,图片,或者基本组件。三、什么是Adapter?Adapter主要在View上显示,可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。适配器就像...原创 2021-05-18 23:08:01 · 610 阅读 · 3 评论 -
Activity设置背景色
通过脚本设置Activity的背景颜色import android.app.Activity;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.os.Bundle; public class Main extends Activity { @Override public void onCreate(Bundle savedInstanc.原创 2021-05-07 23:44:37 · 420 阅读 · 0 评论 -
Android 数据库事务
一、简介 在开始一个事务的时候,只有后面所有sql全都成功才算成功,只要有1条失败就全都失败,回滚(rollback)到事务之前。比如(订单结算:查余额,查库存,扣余额,扣库存,创建订单,创建物流,这整个过程应该是个整体,任何一个环节出错,都应该还 原到最初的状态。)//database.beginTransaction(); //启动事务//database.setTransactionSuccessful(); //确认事务//database.endTransa...原创 2020-12-03 23:38:18 · 616 阅读 · 0 评论 -
SQLite数据库的增删改查(2)
一、MyOpenhelper 类package com.hiscene.testsqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import androidx.annotation.Nullable;public class原创 2020-12-03 22:50:53 · 287 阅读 · 1 评论 -
SQLite数据库的增删改查(1) 使用sql语句
一、MyOpenhelper 类package com.hiscene.testsqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import androidx.annotation.Nullable;public class原创 2020-12-03 00:13:56 · 1383 阅读 · 9 评论 -
XmlSerializer
一、如何使用XmlSerializer创建xml文件XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(fos,"utf-8"); //开始文档(字符集,文档是否独立) serializer.startDocument("utf-8",true); //开始一个标签(参数:命名空间,标签名) serializer.startTag(null,"book");//结束一个标签 serializer.endTag(nu原创 2020-11-14 14:33:48 · 2675 阅读 · 0 评论 -
Android SharedPreferences
轻量级数据存储,通常用来存放一些标记性的数据,一些设置信息。SharedPreferences内部是基于xml格式。原创 2020-11-09 23:22:49 · 290 阅读 · 0 评论 -
Android SDCard中写入文件
一、介绍 这是一个很简单的Demo,只是点击按钮后往SDCard中写入一个文本。二、案例实现1.搭建UI(代码如下)<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:...原创 2020-11-09 23:01:35 · 2014 阅读 · 6 评论 -
Android权限大全
一、简介 权限的目的为了保护用户隐私,应用在访问一些敏感数据时,必须事先取得用户授权后才能使用,比如:比如读取sdcard、访问通讯录等。 在Android6.0之前的设备上,系统不会提醒用户正在获取的权限。一旦安装应用,就意味着该应用所需的所有权限均已经得到授权。在这种情况下应用可以自由收集用户隐私信息。或者随意发送短信。为了解决这个问题在Android6.0之后的设备上,应用需要动态授权,当需要使用某个权限时,会弹出一个提醒框来征求用户意见,只有取得用户同意后才能继...原创 2020-11-07 00:35:05 · 5134 阅读 · 4 评论 -
Android获取Sd卡使用情况
package com.hiscene.testsd;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Environment;import android.text.format.Formatter;import android.widget.Toast;import java.io.File;public class MainActivity ext.原创 2020-11-05 23:12:33 · 1836 阅读 · 5 评论 -
Android实现简单的保存密码功能
一、简介 一个小案例,将用户输入的用户名和密码保存成txt格式文件,下次打开的时候从本地缓存中读取。使用的是字符流保存。用的是明文存储账号密码,在真实商业应用中是不会这样做的,这个案例只是为了介绍字符流如何操作。二、案例实现(代码如下)1.搭建UI<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:an...原创 2020-11-04 22:58:07 · 1948 阅读 · 0 评论 -
AndroidStudio跳到错误位置
使用快捷键F2可能快捷键设置不同,先打开Setting再进入Keymap,搜索error,查看对应的快捷键即可原创 2020-11-03 23:50:56 · 521 阅读 · 0 评论 -
AndroidStudio全局替换标识符
方法一快捷键:Ctrl + Shift + R方法二Edit —— Find —— Replace in Path原创 2020-11-03 22:34:46 · 316 阅读 · 0 评论 -
Android六大布局
线性布局LinearLayout帧布局FrameLayout表格布局TableLayout相对布局RelativeLayout绝对布局AbsoluteLayout网格布局GridLayout。一、LinearLayout(线性布局)方向有两种,横向和纵向,android:orientation="horizontal" //水平,从左向右 android:orientation="vertical" //垂直,从上到下对齐方式android:gravity..原创 2020-11-01 22:08:47 · 502 阅读 · 0 评论 -
Android编写电话拨号器
一、实现步骤1.需要创建拨号意图Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:" + 需要拨打的电话号码));startActivity(intent);2.权限允许<uses-permission android:name="android.permission.CALL_PHONE" />3. Android6.0 之原创 2020-11-01 00:00:54 · 2498 阅读 · 4 评论 -
Android判断字符是否为空
public static boolean isEmpty(String str){ if(str==null||"".equals(str)){ return true; } return false; }原创 2020-10-31 22:53:52 · 1010 阅读 · 0 评论 -
EditText限制输入类型、长度、和固定字符
<EditText android:id="@+id/editTextTextPersonName" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="4dp" android:ems="10" android:inputType="number"//限制只能输入数字...原创 2020-10-31 22:27:32 · 1077 阅读 · 0 评论 -
inputType常见的类型
android:inputType="none"//输入普通字符 android:inputType="text"//输入普通字符 android:inputType="textCapCharacters"//输入普通字符 android:inputType="textCapWords"//单词首字母大小 android:inputType="textCapSentences"//仅第一个字母大小 android:inputType="textAutoCorr...转载 2020-10-31 22:21:36 · 1101 阅读 · 0 评论 -
Android的四层架构
原创 2020-08-05 23:22:50 · 580 阅读 · 0 评论 -
JVM与DVM
安卓系统最早使用JVM,后来由于版权原因被SUN起诉,所以Google自己开发了DVM, 区别编译过程:JVM: .java -> .class -> .jarDVM: .java -> .class -> .dex -> .odex架构区别:JVM基于栈, DVM基于寄存器...原创 2020-08-05 23:24:59 · 238 阅读 · 0 评论 -
ART模式
Dalvik在每次程序执行时会将dex字节码编译为机器码然后执行,ART也被称为预编译模式,安装时就会编译为机器码源代码->字节码->机器码Android4.4开始加入ART,与Dalvik并存,用户可以自己选择模式, 从Android5.0开始全面推行ART,彻底废弃Dalvik,RAM运行空间:4G ROM存储空间:64GDalvik与Art的区别:1. Dalvik每次都要编译再运行,Art只会首次安装时编译2. Art占用空间比Dalvik大10%-...原创 2020-08-05 23:26:47 · 470 阅读 · 0 评论 -
AndroidManifest清单文件
AndroidManifest.xmlManifest文件为Android系统提供应用的基本信息,系统必须获得这些信息才能运行应用代码。 此外,Manifest文件还 可执行以下操作:1.为应用的Java软件包命名。软件包名称充当应用的唯一标识符。2.描述应用的四大组件,即:Activity、服务(Service)、广播接收器(BroadcastReceiver)和内容提供程序 (ContentProvider)。 根据这些声明,Android系统可以了解这组件具体是什么,以及...原创 2020-08-05 23:32:34 · 303 阅读 · 0 评论 -
Android项目结构
src 源代码 gen 自动生成的目录,存放R bin 存放apk文件 assets 资产目录 libs 依赖的库文件 drawable 图片资源 layout 布局 values 字符串...原创 2020-08-05 23:37:39 · 187 阅读 · 0 评论 -
隐藏标题栏和状态栏
1、在values的styles.xml文件中添加子标签,如下:<style name="NoTitle" parent="Theme.AppCompat.DayNight.NoActionBar"><item name="android:windowNoTitle">true</item><item name="android:windowFullscreen">true</item></style>...原创 2020-07-22 22:52:01 · 335 阅读 · 0 评论 -
Android按钮事件监听
一、搭建UI1.进入res->layout->activity_main.xml 布局页面,选择Design模式2.创建一个 LinearLayout线性布局,用来约束UI3.拖动一个按钮组件到LinearLayout 下二、监听按钮事件4种方式介绍1.匿名内部类(代码如下)...原创 2020-03-21 23:46:57 · 1109 阅读 · 0 评论 -
Toast 土司提示框
土司是一种消息提示框Toast是一种非常好的提示方式,可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且 不会占用任何的屏幕空间.Toast.makeText(activity,"HelloWorld!",Toast.LENGTH_LONG).show();Toast有一个队列,多个土司是按照先后顺序排队显示的。切记,一定要调用show才能显示...原创 2020-08-05 23:46:37 · 1098 阅读 · 0 评论 -
Android的常用单位
一、常用单位有px、dp、sp几种px=像素 dp=虚拟像素,在不同的像素密度的设备上会自动适配,推荐使用s p=同dp相似,主要用来显示文字,还会根据用户的字体大小偏好来缩放二、dp / dip(设备独立像素)device independent pixels(设备独立像素)基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1px。在不同的像素密度的设备上会自动适配,比如:在320x480分辨率,像素密度为160,1dp=1px在480x800...原创 2020-08-05 23:50:26 · 831 阅读 · 0 评论 -
获取设备内存
//获取当前系统可用内存 private static long GetSystemAvailableMemory() { ActivityManager am = (ActivityManager) m_Activity.getSystemService(Context.ACTIVITY_SERVICE); ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); a...原创 2020-09-15 23:34:45 · 296 阅读 · 0 评论