使用网络技术(Java)
WebView可以利用其嵌入一个浏览器 1.在布局文件中引入WebView控件 2.获取该控件实例并设置浏览器属性 3.用setWebViewClient使目标网页在WebView显示 4.调用loadUrl方法传入网址并获取权限 123456789<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLa...
手机多媒体(Java)
通知(进阶)1.创建通知通道并请求通知权限 2.用getSystemService()获取一个NotificationManager对通知进行管理 3.创建Notification对象并进行一些基础设置 4.用notify()显示通知 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143/** * 演示通知功能的主活动类 */public class MainActivity extends AppC...
内容提供器(Java)
运行时权限危险权限表格 运行时申请权限(以打电话为例)1.先借助ContextCompat.checkSelfPermission()方法判断用户是否进行了授权。 checkSelfPermission()接收两个参数,第一个是Context,第二个是具体的权限名 2.使用方法的返回值和PackageManager.PERMISSION_GRANTED作比较,不等表示未授权,相等表示已授权 3.把打电话的逻辑封装在**call()方法当中如果授权直接执行该方法,如果未授权,利用ActivityCompat.requestPermissions()**方法向用户申请授权,**requestPermissions()**接收三个参数,第一个是Activity实例,第二个是String数组,把权限名放入其中,第三个是请求码,只要是唯一值就行。 4.调用requestPermissions()方法后最终会回调到onRequestPermissionResult()方法,而授权结果会封装在grantResults参数中,判断最后的授权结果 完整的实例: 123456789101112131...
Git
创建代码仓库首先配置身份,利用: git config --global user.name " " git config --global user.email " " 可以利用git config --list对配置信息进行查看 然后进入到想要创建仓库的相应项目文件中利用 cd 然后在该目录中输入git init 项目创建完成后会在目录中生成一个隐藏的**.git文件夹,这个文件夹用来记录本地所有的Git操作,可以通过ls -al**命令来查看 如果想删除该仓库,只需删除这个文件夹即可 提交本地代码可以使用add和commit提交 add是先将想要提交的代码添加进来,commit则是真正的去执行提交操作 添加单个文件:git add+文件名 添加目录:git add+目录名 添加所有文件:git add . 提交:git commit -m "First commit."一定要有-m加上提交的描述信息。 忽略文件如果不想把app文件下的内容添加到版本控制中,那么可以修改app/.gitigno...
try,catch和finally
在 Java 中,try、catch 和 finally 是异常处理机制的核心部分。它们用于捕获、处理异常,并确保无论是否发生异常,某些代码都会被执行。下面是对它们的详细解释: try块try 块用于包含可能会抛出异常的代码。如果 try 块中的代码抛出了异常,程序会立即跳转到匹配的 catch 块进行处理。 123try{ //可能抛出异常的代码} try 中的代码是你认为可能会发生异常的部分。例如,读取文件、连接数据库等操作可能会抛出异常。 catch块catch 块用于捕获和处理异常。如果 try 块中的代码抛出了异常,程序会跳转到与异常类型匹配的 catch 块来处理这个异常。 1234567try { // 可能抛出异常的代码} catch (ExceptionType1 e1) { // 处理异常类型 1} catch (ExceptionType2 e2) { // 处理异常类型 2} 你可以有多个 catch 块来处理不同类型的异常。catch 块...
数据存储(Java)
文件存储数据存储1.新建save方法,运用openFileOutput接收(“文件名”,保存模式(强制覆盖:MODE_PRIVATE,增添追加:MODE_APPEND)),openFileOutput方法返回的是FileOutputStream对象,通过BufferedWriter将其写入到文件中。 2.重写onDestroy()方法,确保销毁前一定会调用save方法。 1234567891011121314151617181920212223242526272829303132333435363738394041public class MainActivity extends AppCompatActivity {private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity...
广播机制(Java)
广播机制简介标准广播 有序广播 接收系统广播动态注册监听网络变化简易版首先先创建一个类,按例子来是建立一个内部类,并在里面重写父类的onReceive()方法。 然后在onCreate()方法中首先创建一个IntentFilter的实例,并给他添加一个值为”android.net.conn.CONNECTIVITY_CHANGE”的action,为什么添加这个值,就是因为当网络状态发生变化时,系统发出的正是一条值为”android.net.conn.CONNECTIVITY_CHANGE”的广播,也就是说想监听什么广播就要添加相应的action。接下来创建内部类实例然后调用 registerReceiver()方法进行注册,然后把NetworkChangeReceiver实例和IntentFilter实例都传进去。 最后记的也要取消注册,在onDestroy()中调用 unregisterReceiver实现。 123456789101112131415161718192021222324public class MainActivity extends AppCompatAc...
碎片(Java)
碎片是什么碎片是一种可以嵌入在活动当中的UI片段,它能让程序更加合理充分地利用大屏幕的空间,因而在平板上应用广泛。 碎片的使用方式碎片的简单用法新建一个左侧碎片布局left_fragment.xml: 1234567891011<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_...
UI开发(Java)
常用控件TextView1.android:id定义唯一标识符2.android:layout_width指定宽度有match_parent和wrap_content两个选项,第一个表示当前控件大小和父布局大小一样,第二个表示当前控件大小刚好能包住里面的内容3.android:layout_height指定高度,选项和上相同4.android:text指定文本显示的内容5.android:gravity指定文字对齐方式可选值有top,bottom,left,right,center等,可以用“|”来指定多个值6.android:textSize指定文字大小,用sp做单位7.android:textColor指定文字颜色 123456789<TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" androi...
活动(Java)
手动创建一个活动的全过程1.创建一个活动2.创建和加载布局(根元素一般选用LinearLayout的): 1234567891011<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button ...














