效果图
页面Dialog页面
- 设置页面标题
getActivity().setTitle(“设置标题”)
登录登录处理:使用了LoginViewModel进行字符长度判断。
通过过滤器进行传值
fragment所在的activity都作用于一个activity中,一个intent对应可以对应多个fragment
- 通过startActivity来跳转页面
- 通过SDK中自带的LoginActivity来写登录页面 (要在SDK Manager -> SDK Tools 中安装 emulator SDK )
- LoginActivity.java LoginViewModel.java
- 完美的解决了关于Android开发 中mysql使用遇到的问题!!!
- 登录中的图标 是drawableLeft
- 通过一个进度条跳转到主页
问题:
注意到ip地址的变化,会导致连接数据库超时(一直卡在那里不动)
要将ip改为一个固定的ip地址
没网络也会导致无法访问到服务器数据库
网络编程:具体实现
- 先通过调用api借口使用
implementation 'org.xutils:xutils:3.3.40'
- 再初始化
public void onCreate() { super.onCreate(); x.Ext.init(this); //x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能. }
- 再编写访问的地址
public String selectuser="http://39.108.61.227:80/json/su.php";
- 获取服务器数据
public void getData(){ RequestParams params = new RequestParams(url); x.http().get(params,new Callback.CacheCallback() { @Override public void onSuccess(String result){ Log.i("CommentFragment", result); list = JSON.parseObject(result, new TypeReference >>() { }); mData.clear(); mData.addAll(list); adapter.notifyDataSetChanged(); } @Override public void onError(Throwable ex, boolean isOnCallback){ } @Override public void onCancelled(CancelledException cex){ } @Override public void onFinshed(){ } @Override public boolean onCache(String result){ return false; } }); }
评论页面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e4WBFNqq-1641134602673)(C:UsersadminAppDataRoamingTyporatypora-user-imagesimage-20211212214609778.png)]
修改样式和主题顶部文字
通过getActivity().setTitle()修改内容
图片头像的形状,通过自定义的CircleImageView来改变,其中组件中的图片要通过src的形式添加。
android:src="@drawable/i3"首页主要内容
顶部导航栏
- 1.搜索框
- 2.提交按钮
中间内容顶部导航栏
-
不同类别的内容
-
通过点击触发切换
-
推荐
-
一个网格布局
-
一个横向lineLayout
-
一个横向
-
一个瀑布流数据(实验10)
-
E/RecyclerView: No adapter attached; skipping layout
-
Log.i("RecycleViewFragment", result); //有解析数据 返回 list = JSON.parseObject(result, new TypeReference
- >>() {
});
出现数据转换问题,不返回值,也不继续往下执行
-
解决方法:坚持onBindViewHolder中所写代码的准确性
-
Glide.with(getActivity()).load(new MyApplication().imagebaseurl + mData.get(position).get("picture").toString()).placeholder(R.mipmap.ic_launcher).into(holder.img);
get(“picture”) 与 数据库中字段名对应 picture。
-
-
-
食品
-
水果
- 通过recyclerView来进行嵌套gridlayout
- 一个单独的xml文件,recycler.xml
- 通过适配器的方式来进行配置
- 通过getData()去获取到bind视图绑定的数据
-
百货
-
手机
-
电脑
以上页面:
公用一个内容来显示数据
问题:
Duplicate resources
- 名字相同的错误,修改名字
当加入轮播图后,无法加载页面
中间内容
-
数据库中的数据 通过python爬虫去爬取数据,并将数据等写入python脚本中
-
自动 *** 作数据库
-
最终将数据库上传到自己搭建的服务器当中(阿里云服务器)
-
配置mysql *** 作文件
- mysql的连接 数据库名 和 表名要区分开来
- mysql中的用户连接 服务器ip 要写对 要访问到数据
- 访问数据问题
- 高版本无法访问到数据(自己搭的服务器)
-
运用滚动条来查看商品信息
-
瀑布流显示所有商品
底部导航栏 实现
MainActivity.java R.id.nav_host_fragment-- > activity_main.xml fragment
-> fragment (id为nav_host_fragment) -> navigation/mobile_navigation ->nav_home
-> fragment_home.xml -> BottomNavigationView bottom_nav_menu -> fragment_home.xml
fragment navigation/mobile_navigation2 -> mobile_navigation2.xml -> 页面导航fragment
-
1.首页
- 定位到导航上
-
2.直播
-
通过下载 cn.jzvd:jiaozivideoplayer:7.7.0依赖实现播放视频
-
getItemCount() 返回值记得设置为mData.size()
-
-
3.分类
-
运用verticalTabLayout + YViewPager来实现侧边栏的效果
-
implementation 'q.rorbin:VerticalTabLayout:1.2.5'
-
-
4.聊天
- 运用recycleview实现滑动效果显示商家信息
-
5.个人中心
- 实现
- 如果数据提交上去,但是数据库没有进行更新 *** 作,需要检查php中的数据库编写的代码是否正确。
- 数据库机制:有一个错误的字段,就所有字段不提交。
整体布局:
通过activity_main.xml进行布局,给一个容器(navigation)
容器中设置起始fragment,通过起始fragment设置viewpage来左右控制页面切换,
起始fragment中在设置底部导航栏,通过BottomNavigationView,在给一个容器来存放fragment
再在第二个容器中设置显示页面,这个页面就是一打开就看到的页面。就是viewpage页面
问题:
如果出现tablayout中tab中的button无法点击,多半是recycleviewfragment.xml文件布局的问题
通过对照viewpage.xml中的文件和recyclefragment.xml文件中的布局来改变。最终可以实现点击
(例如marin-top的高度等,不能让recycleviewfragment.xml文件中的嵌套在viewpage的tab上,或者遮挡住了tab的button)
底部导航栏的移位问题,出现有中文无法显示出来。
修改bottomnavigationview中的属性,
添加app:labelVisibilityMode=“labeled”
这样就显示全了文字信息
BottomNavigationView 的使用及遇到的坑 - 简书 (jianshu.com)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iz9eMwBM-1641134602676)(C:UsersadminAppDataRoamingTyporatypora-user-imagesimage-20211213174253966.png)]
CoordinatorLayout出现顶部空白
- 解决办法,删除配置中的 android:fitsSystemWindows=“true”
解决RecycleView底部内容被遮挡(bottomNavigationView)
Android跳过的那些坑:ConstraintLayout中,ViewPager与BottomNavigationView 遮挡 问题解决方案,增加三句话搞定_thtfcccj的博客-CSDN博客
生命周期 activity.xml -> graph.xml -> fragment_home.xml
Navigation 项目
activity.xml 中 navhostfragment nav_graph(id -> fragment容器 app:navGraph="@navigation/navigation")
HomeFragment home_fragment.xml Constrainlayout button
DetailFragment detail_fragment.xml Constrainlayout button
Navigation navigation (地图) 添加fragment graph
MainActivity.java
NavigationController navController = Navigation.findNavController(this,R.id.fragment);
NavigationUI.setupActionBarWithNavController(this,navController);
HomeFragment.java
NavigationController navController = Navigation.findNavController(this,R.id.button);
navController.navigate(R.id…)
ViewPager 不能同时在一个页面出现(为什么? )还没有解决
fragment跳转通过Intent通信跳转
activity不能直接跳到fragment
先通过一个activity再跳到fragment
改变为:
一个activity 对应 一个fragment
最终为:
两个activity ,在第二个activity中运用navigatie 去控制fragment,从home_fragement开始
无法实现底部导航栏的点击事件,所以最终改变了。与实验不同在于,实验是BottonNavigationView,而我的是LinerLayout,实现效果不一样
最终版为 5 个 activity对应 5 个fragment
并且在当前的fragment不能跳到属于自己的fragment
解决方法:
- 底部导航条的实现
- bottom_menu.xml 文件实现底部导航栏个单项
内容
Paging使用
网络+数据库
DiffUtil -> pagedList Adapter -> onBindViewHolder -> pagedList ->DataSource
- mainfests 允许网络访问
- 布局文件
build.gradle
- 数据在UserViewModel
- Room
-
通过点击商品进入到商品详情页,通过点击修改和删除来改变商品。
-
修改商品,先获取到商品的基本信息:名称,描述,生产日期,图片
-
问题:
- 修改图片并进行保存,上传到服务器中,出现问题
- 1.修改服务器的php代码,将update.php中basename(xxx)返回的文件名与ip地址进行拼接 *** 作
- 2.得到完整的图片地址,进行写入数据库,将数据库中picture的字段大小设置大一些,防止写入不完整。
- php中的字符串拼接 *** 作是使用字符串连接符.和赋值运算符.=
- 修改图片并进行保存,上传到服务器中,出现问题
-
解决成功
Android问题:android.graphics.drawable.TransitionDrawable cannot be cast to android.graph
通过设置Glide.with(context).load(url).asBitmap().into(img);解决
关于recycleview滑动到底部不彻底
完美解决BottomNavigationView使用过程中遮盖其他控件无法显示的问题 - 简书 (jianshu.com)
如何优雅地使用BottomNavigationView实现底部导航栏+fragment切换效果 - 简书 (jianshu.com)
关于BottomNavigationView的使用,出现移位问题
able.TransitionDrawable cannot be cast to android.graph
通过设置Glide.with(context).load(url).asBitmap().into(img);解决
关于recycleview滑动到底部不彻底
完美解决BottomNavigationView使用过程中遮盖其他控件无法显示的问题 - 简书 (jianshu.com)
如何优雅地使用BottomNavigationView实现底部导航栏+fragment切换效果 - 简书 (jianshu.com)
关于BottomNavigationView的使用,出现移位问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)