android
yangliweigauguagua
这个作者很懒,什么都没留下…
展开
-
ViewModelSavedState viewModel进入后台保存数据
介绍安卓进入后台以后,会重新加载界面和数据,如果想保存用户数据必须保存一下官方文档savedstate 版本说明使用在build.gradle添加依赖dependencies {... def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"}在ViewModel中使用publi原创 2020-12-10 15:40:56 · 547 阅读 · 0 评论 -
安卓数据绑定 DataBinding 结合ViewModel
介绍通过数据绑定安卓可以实现类似于Vue的Mvvm(Model-View-ViewModel)功能,可以极大减少代码和逻辑负担。官网描述使用配置在build.gradle中写入以下代码来启用数据绑定android { ... dataBinding { enabled = true }}xml配置打开 activity_main.xml 鼠标移入左上角 转换为data binding layout视图转换后是这样的:原创 2020-12-09 17:22:40 · 2878 阅读 · 0 评论 -
安卓视图绑定
视图绑定在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类,可以替换findViewById方法官网文档启用在build.gradle中写入一下代码android { ... viewBinding { enabled = true }}注意:如果一个视图不需要绑定视图,可以在xml中写入一下代码<LinearLayout ... tools:viewB原创 2020-12-08 16:20:28 · 258 阅读 · 0 评论 -
安卓 ViewModel 和LiveData一起使用
ViewModelViewModel 可以在activity被重新加载以后还能保存数据,配合liveData可以极大减轻手动控制数据显示的工作,我们只需要关注数据的变化即可,不需要维护视图。官网liveData描述小例子ViewModelWithLiveData.javaimport androidx.lifecycle.MutableLiveData;import androidx.lifecycle.ViewModel;//扩展viewModel类public class Vi原创 2020-12-08 10:06:56 · 411 阅读 · 0 评论 -
安卓学习 Intent
Intent 意图导航去别的activity Intent intent = new Intent(this, Activity2.class);传递数据到别的activityMainActivity.java 传递数据 Intent intent = new Intent(this, Activity2.class); intent.putExtra("value","yangliwei is good!");Activity2.java 接收数据 Intent in原创 2020-12-02 14:33:02 · 130 阅读 · 0 评论 -
安卓viewpager2通过fragment和tablayout使用
1,定义三个fragment页面2,页面布局如下3,在父页面中添加如下代码://给viewpager建立适配器 viewPager.setAdapter(new FragmentStateAdapter(this) { @NonNull @Override public Fragment c...原创 2019-12-19 09:16:04 · 4261 阅读 · 0 评论 -
recyclerview 上拉加载更多
// 上拉加载更多 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(@NonNull RecyclerView recyclerView, ...原创 2019-12-13 14:13:56 · 273 阅读 · 0 评论 -
安卓fragment之间通过bundle传值
1,在fragment中写入以下代码:Bundle bundle = new Bundle(); bundle.putParcelable("userItem", user); NavController controller = Navigation.findNavController(v); controller.n...原创 2019-12-13 11:21:50 · 1308 阅读 · 0 评论 -
安卓显示隐藏键盘
1,显示键盘InputMethodManager imm = (InputMethodManager) Objects.requireNonNull(getActivity()).getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(userNameText, 0);2,隐藏键盘publi...原创 2019-12-10 17:05:52 · 226 阅读 · 0 评论 -
安卓使用vlc播放rtsp视频
1,把vlc的aar文件放入libs中2,在build.gradle中添加如下代码android { //... repositories { flatDir { dirs 'libs' } maven { url "http://dl.bintray.com/jlmd/m...原创 2019-12-09 19:18:09 · 1913 阅读 · 3 评论 -
安卓发送广播和接收广播
1,发送广播Log.i("MyTag", "onClick: 发送广播"); Intent intent = new Intent(); intent.setAction("yangLiWei"); intent.setComponent(new ComponentName("com.exampl...原创 2019-12-08 22:19:28 · 4490 阅读 · 1 评论 -
使用安卓intent来打电话,发短信,浏览网页
intent官网说明:https://developer.android.com/guide/components/intents-filters1,跳转页面Intent intent = new Intent(); ComponentName componentName = new ComponentName("com.example.myappli...原创 2019-12-07 15:56:43 · 309 阅读 · 0 评论 -
安卓下拉刷新
1,在gradle中添加:implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"2,在fragment中添加://下拉刷新 Swiperefreshlayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener...原创 2019-12-06 16:32:16 · 120 阅读 · 0 评论 -
安卓使用glide加载图片
1,安卓加载图片自己写的话是非常麻烦的,所以对于我们这种小白来说使用别人的开源库就是最好的选择:glide官网地址:https://muyangmin.github.io/glide-docs-cn/2,引用在build.gradle中添加如下代码,然后sync nowimplementation ("com.github.bumptech.glide:glide:4.9...原创 2019-12-06 09:59:22 · 330 阅读 · 0 评论 -
安卓创建新线程和更新ui线程
1,创建新线程new Thread(new Runnable() { @Override public void run() { Log.i(TAG, "run: 线程"); }2,更新uigetActivity()...原创 2019-12-05 15:10:01 · 486 阅读 · 0 评论 -
安卓spinner的使用
1,xml:<Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toB...原创 2019-12-05 14:07:30 · 444 阅读 · 0 评论 -
安卓底部导航
1,添加三个页面2, 添加menu资源文件3,选择图标,menu item 的id必须和之前fragment的id一致4,在主页添加底部导航栏menu属性选择刚才创建的menu.xml文件5,在主页面中添加如下代码:public class MainActivity extends AppCompatActivity { //用了Butter...原创 2019-12-04 15:51:24 · 956 阅读 · 0 评论 -
viewModel与recyclerView结合
1,创建detailViewmodelpackage com.example.test10;import androidx.lifecycle.ViewModel;import java.util.ArrayList;import java.util.List;public class DetailViewModel extends ViewModel { List&l...原创 2019-12-04 15:19:15 · 6131 阅读 · 0 评论 -
安卓横竖屏切换,界面重新加载的问题
AndroidManifest.xml中的activity中添加一个属性:android:configChanges="screenSize|keyboardHidden|orientation"原创 2019-12-04 13:52:35 · 718 阅读 · 0 评论 -
okhttp获取数据,fastjson解析转换为对象,并更新RecyclerView
1,okhttp获取数据private void getdata() { Log.i(TAG, "开始请求! "); OkHttpClient okHttpClient = new okHttp().getOkHttpClient(); String url = "http://192.168.1.126:8001/user/listUser"...原创 2019-12-04 13:37:21 · 1789 阅读 · 0 评论 -
okHttp的get方法使用
OkHttpClient okHttpClient = new OkHttpClient(); String url = "http://192.168.1.126:8001/user/listUser"; final Request request = new Request.Builder().url(url).build(); Call ca...原创 2019-12-03 17:56:50 · 694 阅读 · 0 评论 -
RecyclerView在fragment中的使用
1,user模型package com.example.test10;public class User { private String name; private Integer age; public User(String name, Integer age) { this.name = name; this.age = ...原创 2019-12-03 16:17:04 · 5816 阅读 · 5 评论 -
ButterKnife10.0在Fragment中的使用
1,在gradle中添加:依赖中添加: implementation 'com.jakewharton:butterknife:10.0.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'2,在xml中添加一个按钮id为button'public class BlankFragment...原创 2019-12-03 12:43:41 · 1200 阅读 · 0 评论 -
Android room操作数据库
1,在gradle中添加依赖:def room_version = "2.2.0-rc01" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"2,创建数据库package c...原创 2019-12-02 17:09:00 · 1578 阅读 · 0 评论 -
ViewModelProviders 在fragment中使用
@Override public View onCreateView(@NonNull LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) { MyViewModel viewModel; vi...原创 2019-11-24 15:50:10 · 3559 阅读 · 1 评论 -
Android 数据绑定视图 dataBinding
1,在build.gradle中,添加一下代码android { ... dataBinding { enabled = true }}2.在布局文件activity_main.xml中添加一下代码,或者直接点击小灯泡 ,myViewMdel是绑定的模型<?xml version="1.0" encoding="utf-8"?...原创 2019-11-17 22:15:05 · 545 阅读 · 0 评论