Android基础4
Apache一些常用名命令:# 安装服务httpd -k install -n apache
# 启动服务net start apachehttpd -k start -n apache
# 关闭服务net stop apachehttpd -k stop -n apache
# 重启服务httpd -k restart -n apache
# 卸载服务## 卸载服务时先停止httpd -k stop -n apache## 再卸载服务httpd -k uninstall -n apache
下载zip文件知识点:(1)使用HttpURLConnection进行http下载
(2)使用AsyncTask创建异步任务
(3)申请权限
将zip文件写到sdcard知识点(1)创建保存目录
(2)写文件
(3)下载完成返回标志
解压zip文件到指定目录知识点(1)将zip包内文件解压到指定目录
(2)将zip文件删除
注意:Android高版本不能使用http协议
解决方法:清单文件里面添加(application中)
android:usesCleartextTraffic="t ...
Android基础3
Content Provider 介绍Content Provider属于Android应用程序的组件之一,作为应用程序的组件之一,作为应用程序之间唯一的共享数据的途径,Content Provider为存储和读取数据提供了统一的接口。Content Provider主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。Android系统为一些常见的数据类型(如音乐、视频、图像、手机通讯录联系人信息等)内置了一系列的Content Provider,这些都位于android.provider包下。持有特定的许可,可以在自己开发的应用程序中,可以在自己开发的应用程序中访问这些Content Provider,应用程序可以实现数据共享让自己的数据和其他应用程序共享
让自己的数据和其他应用程序共享有两种方式:
创建自己的Content Provider(即继承ContentProvider子类)将自己的数据添加到已有的Content Provider中去
后者需要保证现有的Content Provider和自己的数据类型相同且具有该Content Provider的写入权限
数据 ...
Android基础2
Activity的使用MainActivity.java
package a.b.c.myapplication;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import androidx.activity.EdgeToEdge;import androidx.activity.result.ActivityResult;import androidx.activity.result.ActivityResultCallback;import androidx.activity.result.ActivityResultLauncher;import androidx.activity.result.contract.ActivityResultContract;import androidx.activity.result.contract.ActivityResu ...
Android基础1
Android项目结构Android:列出我们经常会用到的内容,比如:Java文件,布局文件等等。
1、mainifests:其中显示的是安卓的全局描述文件。
2、java:显示java的源码文件。
3、res:显示的是资源文件,比如常见的类文件,图片资源文件等等。
Project:列出我们项目当中的全部文件
创建AVD并启动安卓模拟器模拟器就是模拟手机,平板等安卓设备。在这个模拟器上面测试设备,就可以开发出兼容性较好的设备。从而节约我们的开发成本。
AVD:安卓虚拟设备的简称。可以用于设置模拟器的硬件列表,模拟器的外观,以及支持安卓系统版本等等。模拟器本身没有操作窗口,需要借助AVD才能实现。
安卓模拟器的基本配置将模拟器的使用语言设置成为简体中文
模拟器设置成可调试
创建一个按钮<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FF5722" ...
无题
线程的概念线程是指在一个进程中执行的独立的、可调度的执行单元。在JAVA中,线程是Thread类的实例,可以通过继承Thread类或实现Runnable接口来创建线程。每个线程都有自己的执行路径和执行状态,可以共享进程的资源,例如内存、文件句柄等,因此线程之间的通信和协作比进程之间更加高效。
线程的结构在JAVA中,线程的结构通常包括ID、程序计数器、寄存器集合、堆栈和状态等。线程ID是一个唯一标识符,用于区分不同的线程。程序计数器用于当前线程的执行的位置,寄存器集合用于保存线程的上下文信息,堆栈用于保存线程的局部变量和方法用栈,状态用于记录线程的执行状态,例如就行、运行、阻塞等。
线程的创建和启动在JAVA中,线程的创建和启动可以通过继承Thread类或实现Runnable接口来实现。例如,可以创建一个继承Thread类的子类,并重写run()方法来定义线程的执行逻辑,让后通过start()方法来启动线程。也可以创建一个实现Runnable接口的类,并实现run()方法来定义线程的执行逻辑,然后通过创建Thread对象并传入Runnable对象来启动线程。
线程的同步和协作在JAVA ...
java基础3
异常简介Java中的异常又称为例外,是一个程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类,这可以让程序具有记号的容错性且更加健壮
在Java中一个异常的产生,主要有如下三种原因:
1、Java内部错误发生异常,Java虚拟机产生的异常
2、编写的程序代码中的错误所产生的异常,例如空指针异常、数组越界异常等
3、通过throw语句手动生成的异常,一般用来告知该方法的调用者一些必要信息
我们把生成异常对象,并把它提交给运行系统的过程称为抛出(throw)异常。运行时系统在方法的调用堆栈中查找,直到找到能够处理该类型异常的对象,这一个过程为捕获(catch)异常。
异常分类为了能够及时有效地处理程序中的运行错误,Java专门引入了异常类。在Java中所有异常类型都是内置类java.lang.Throwable类的子类,即Throwable位于异常类层次结构的顶层。Throwable类下有连个异常分支Exception和Error
Throwable类是所有异常和错误的超类,下面有Error和Exception两个子类分别表示错误 ...
java基础2
多态性,对象转换类型父类不能强转成子类
关键字staticstatic关键字表示静态,可以修饰成员变量、方法和代码块。
static修饰成员变量:
1、被static修饰的属性所用对象共享同一个值
2、被static修饰的属性值会被保存在内存的方法区中
3、当该类的所有对象共享一个资源时,将这个资源设置为静态能够节省内存
4、静态属性使用类名调用
5、静态属性也称类属性
public class Main { public static void main(String[] args) { Cat cat01=new Cat(); Cat cat02=new Cat(); cat01.name="小黄"; cat01.eat("面包"); Cat.eat("鱼"); Cat.name="小白"; Cat.eat("鱼"); cat01.eat(& ...
java基础1
Java基础查看对象在内存中的布局import import org.openjdk.jol.info.ClassLayout;System.out.println(ClassLayout.parseInstance(student).toPrintable());
注释单行:Ctrl + /
多行:Ctrl + shift + / 常用于:说明方法作用或一段代码功能
文档:/** 常用于:类定义或公有方法定义的前面
创建数组类ArrayList<Integer>arraylist=new ArrayList();
常量关键字:final
算数左移(符号位不变,右边补零p<<3)
算数右移(符号位不变,左边补符号位p>>3)
逻辑右移(左边补0 p>>>3)
三目运算符q>r?a:b
instance判断是否是Student类的实例if(s1 instanceof student){ System.out.pritln("s1是student的实例"); ...