粉丝193获赞749



那么这一节课我们将去学习如何安装我们的模拟器,模拟器主要分为安卓自带的模拟器和第三方的模拟器,那我们这里首先使用自带的模拟器,我们首先打开安卓 studio, 点击右侧的 device manager, 然后这里我们需要去创建我们的虚拟机,然后我们选择一个手机的品牌, 点击下一步,然后这里切到 x 八六,我们就下载我们最新的安卓十二的模拟器,那我们选中,然后点击下一步,那这里就有一些选项,我们可以看到这里是设备的名称以及它的分辨率。好应该是这个是竖屏还是横屏的 啊等等,这些我们一般都不需要修改。那么如果同学们第一次安装这个模拟器的时候,就直接点击下一步,然后进行下载模拟器,那我这里这个模拟器已经下载过了,所以说这里是灰色的,我就直接点击完成好,模拟器 已经创建完成了,我们首先启动模拟器,模拟器很快就启动起来了,稍等片刻,模拟器现在已经成功运行起来了,我们现在去编用了整个项目,然后这里点击 build 的,可以查看构建的进度啊,很快这个模项目已经运行出来了,那么我们现在通过第三方的模拟器来运行, 我们先把这个模拟器关掉, 我们去下载一个雷电模拟器,那就是这个,然后点击这个下载,等他下载完成,那我们先双击安装 到这里,弹出了我们的一个安装面板,那我们不能点这个快速安装,我们要选择自定安装,我们安装到其他盘,我们这里就安装到地盘,点击立即安装, 现在已经下载完成了,现在正在安装的过程。好,现在已经安装完成,我们点击立即体验启动我们的模拟器。 好,现在模拟器正在启动过程当中,模拟器已经成功启动并运行起来了,他现在是一个平板的模式,我们一般使用的是手机的模式,我们这里需要设置一下,把它改成手机版的,然后保存,然后重启。 好,我们只现在是手机版的,我们把这个可以稍微放小一点,那么这个就是我们的这个模拟器,我们点击运行。 啊,这个 hello word 已经运行出来了,那同学们如果在使用模拟器的时候遇到什么问题都可以找我。

好,哈喽,大家好,好,我们今天继续学习这个安卓开发啊,购物商城实战系列教程。好,我们上一期视频已经学习了,将这个购物车的数据,对吧?我们批量的生成一个订单, 对吧?我们也也创建了这个订单的表啊,那么我们今天去来这个,实现这个 ui, 好, 我们来到这个项目中啊,嗯,找到这个啊,默认 fragment 里面,然后我们给个哎,给个啊,我们也是用现行布局啊,我们给个方向啊, 给垂直方向。好,我们写一个哎个列表啊, recycle view, 我 们给个 id 啊,我们给一个哎,加载布局文件, 我们叫这个 old old list 啊,并且一定要设置个列表啊, manage 这句话一定不能少啊,那我们去创建这个一个布局文件,我们也是一样的啊,给一个限行布局。 好,那么我们看这个 ui, 其实跟跟我们这个订单的 ui 效果,跟我们的购物车订单这个 ui 效果其实是差不多的啊,对吧?我们拿着过来啊,把这个布局文件复制一份啊,我们加这个 卡德尼斯的啊,拿过来去改一改,怎么改?我们来教大家怎么改奥德尼斯的,那么复制黏贴,对吧?那么把这个不要就可以了啊,加和减不要看看 啊,那么这个数量一般是这个乘一乘二,对吧?乘二乘三对吧?这种效果好,那么我们这个布局文件就已经写好了,这种效果 好,我们只要是一个哎,限,只要是一个啊,这个列表空间,对吧?那么我们一定需要一个 adapt, 我 们去创建叫 odenis 的 adapt 啊,啊, t e r odenis a d a d a b t e r 啊,继承一个 点,我们把这个后啊自定义的后的写了啊,是蛮后的, 去记住点 v u 后的,我们去实现你们的构造方法,好,我们可以了,然后我们的点蛮后的,我们去实现你们的方法。 好,然后的话,我们肯定要一个实体,对吧?好,我们有一个实体啊,我们 void 一个, 那么我们的实体是不是跟这个购物车也很像,对不对?我们也拿过来啊,复制,我们把这个不要,我们加 card 哦,加 o 的 id, 那么又是另一样,那么这个 product id 就 不要了,那么这个字段都要啊,那么有两个字段还多了,对吧?一个地址, 那么还有一个手机号目标,那么我们提供 get 和 set 的 方法,快捷快捷键啊,建立的啊,我们 construct 啊,全选就可以了, 那么还有 get 和 set 方法,我们也是一样的啊,进来的 get 和 set, set 后面全选,那么可以了,我们在这里啊,我们需要接受一个集合默认设置啊, 好,那么这里,哎,这个大小就是这个几何的大小,那么在这里就是加这个布局文件,对吧?我们 delete, 点,我们复制到上下文点 delete 点, delete, 点 o 的, 给个空,我们返回一个 v u, 好, 我们接受一个蛮有蛮厚的类型,对吧?好,那么我们去 n u 一个厚的, 把这个丢进去。好,那么这里就是绑定数据嘛,啊,绑定数据,那么首先在这里,我们是不是啊?抽象空间,找到空间,对吧?我们看看 啊,那么这个也是一样的,我们把这里拿过来啊,我们在这里找卡的,这下面的,我们拿过来就可以了啊,我们看看, 对吧?一二三四,没问题啊,我们也收到,我们去把这个空间找到,我们这里没有放的 vivo 八 id 啊,我们用的艾特码 vivo 放的 vivo 八 id, 这个写上去,我们把这个啊改一改,我们还有一个空的 啊,可以了,那么在这里绑定数据,对吧?我们将这个啊,拿一个数据点 get 艾特 position 啊,飞一个 alt 应付对象,那么在这里设置数据 数据怎么设置啊?我们后台点啊 com 的 点 c 的, 这个是,那么有一个,对吧?这个啊,屏上这个 hold, 点 get 数量就可以 hold, 点 set 一 麦机, set 一 麦机为锁死那个一麦机锁死 hold, 点啊,抬头 set 啊, 点这个价格点的 press, 那 个 press, 那 么这个价格是硬的类型的,我们一定要设置时序类型,我们拼接一个空串就可以了。好,我们就可以了啊,我们 r w 就 写完了。 好,我们回到这个 fragment 里面去,那么第一步是不是我们把这里改一改? 好,我们去接收一下 啊,也是一样的啊,轴式画空间 定义出来 啊,那么空间不要突出了啊,千万注意啊,我们把这个改一改啊,那么我们写一个啊,黄 t v t 可以 的,里面啊,那么这个方法上面一个转换线,对吧?那么这个是因为这个方法已经过时了,但是可以用啊,这个没问题啊,我们在这里是不是就要获取到这个订单里面的数据,对吧?啊?这个订单里面的数据,那我们怎么去获取,对吧? 好,我们看看获取数据,获取数据。好,我们来到这个 a d b 里面啊,按照 o 的 d b 号牌里面,那么这里是插入数据,是吧?那么我们在这里查询数据, 查询订单数据啊,那么在这里也是可以拿过来直接用, 我们在这里啊,对吧?获取所有, 那我们怎么去改啊?在这里改,比如说在这里我们叫 quarry or other miss, 那么一定要根据用户名单去找找嘛?啊?我们需要个 u 是 name, 对 吧?我们,那么我们在这里就要把这个改一改啊,我们对应的 把这个字典改一改,叫 o 大 d u 是 name, 这个, 那么开头价格 com 的, 那么啊,这个地址, 那么还有一个,哎,手机号, 一二三四五六七八,我们看看这个子弹对不对啊?一一二三四五六七八,好,没问题,对吧? 那么这个表明不就不加右闪,对不了,我们加这个 o 的, 对不? 那我们在这里啊,我们接受一个 o 等于 four, 我 们在这里也是一样的,我们给我们加这里要改改都要改啊, 我们加又是那样的大小。 我们这个图片,我们图片是 steam 类型的啊, get into 我 们这个图片还有这个 title, title 是 steam 类型的啊, 好,我们价格,价格是,哎,这个 steam, 哎, steam 类型的改改, 还有这个数量啊,这个数量也是硬盘类型的,这个的键是啊,地址手机号,那么这个也是,哎,这个数据类型 我们扭一个,哎,我们直直接连接到这个集合里面去扭一个啊,我的,我们把这个添加进去,用声音 好,可以了,我们看看有没有错,也没问题啊,那么在这里还还需要去改改,对吧?我们这个条件是什么呀?对吧?那我们条件这个之前有,是不是我们的这个 看里面是不是也有,对吧?我们是不是可以拿过来啊,我们修改,我们啊查询,对吧?我们是不是可以拿过来? 我们,我们这里只需要个 user name 查询条件,对吧?把这个放进去,那么这里,哎,我们看看,对吧?我们条件是什么?我们啊,这个 user name, 对 吧? 我们就可以了,所以这个只要学会了一个,哎,侦查检查,其实所有的侦查检查都是通用的啊, 如果说你学会了这个订单啊,购物车里面的整张开叉的逻辑,那么购物车啊,那么订单那就不在话下了,对吧?但是,哎,一呼噜发飙啊,只是里面的一些字段不一样,那次个语句啊,大同小异,对吧? 好,我们拿到这个 order fragment 里面啊,我们获取数据, 点 get instance, 那 么在这个 fragment 需要一个上下文,我们叫 get activity 啊,点啊,很快,我们也是一样的,我们,哎,我们用这个 u s 音符点 get, 我 们做一个判断, 那么就可以把它查出来哦,需要一个用户名,点 get instance, 点 返回一个这个订单集合,那么我们在这里就可以去设置数据,那么首先就是这个 apple 啊,那么在这里我们还去设置设置 apple 台, 那么啊,点 shift alt, 那 么叫 alt, 那 么在这里我们去,哎设置数据, 点 shift, 看一下这 shift 吗? 我们在这里啊,提供一个设置数据的方法啊,那么我们写上 word set list, 那 么我们接受一个集合 word list, 我 们在这里 s 点, 那么这里啊,一定要调用这个啊, node node, 返回 delete, 新建的,一定要去刷新啊,啊,一定要调用 好,我们在这调用一下,点 s c 的, 把这个点进去,好,我们去运行看看效果, 让我们看看,没有问题啊。好,我们就没问题啊,看看这种效果就出来了,比如说我们还去添加一个数据。嗯, 好,我们去看看啊,我们这购物车里面有没有数据,哎,有一条啊,那么我们去点击这个结算。好,我们就可以了,有条数据了,但是在这里面为什么没有?为什么?刚才是三条,应该有四条,对吧?为什么啊?我们去看这里面啊,这里面 我们后台里面应该有四条数据,对吧?为什么呀?像之前也是一样的啊,跟之前的问题是一样的啊,那么我们点击它的时候,对吧?那么是不是要去刷新数据?我们在这里啊, 我们在这个哎, main activity 里面,我们也是一样的,我们在这里,哎,购物车的时候,我们订单,我们订单的时候也是要去加载数据,对吧? 我们在这里啊,我们点 off, 没有这个方法,对吧?当我们去这个写个,我们去夹加载一下数据,对吧? 那么我们把这个方法啊放到这里面去,我们直接在这调用就可以了,对不对啊?调用就可以了,看一下或者数据做个判断,哎,没问题,对吧?我们再去看看啊, 我们登录,嗯,看一下,也有饲料数据了,对吧?好,我们再去啊, 再去啊,添加成功看看啊,我们计算 看一下,哎,就有了,没问题,对吧?好,那么我们这个订单已经完成了,对吧?没有问题了。好,我们在这里啊,还要做个小小的优化,比如说这个购物车里面没数据,我不能,我点击结算,是不是就不能操作?好,我们在这里去实现一下啊, 在这个看看啊,这个购物车页面啊, word, 我 看在这里点击结算的时候,嘿,我们在这里是不是就要做一个判断 啊,对吧?我做个判断,怎么判断?如果,哎,我们查出来这个,这个购物车里面,哎,这个没数据,也就是说,哎,这个 color, 历史点 size 等等于零,哎,我们就不要去做 任何操作,对吧?我们钥匙,那么我们就去生成订单啊,我们清空购物车,并且重新加载数据,那么在这里你为零的时候,我们给个友好的提示,对吧? 给的, 那么在这里给个友好的提示,我们叫,哎,您还没有选择商品, 好,我们去看看效果啊,我们点击登录,比如说,哎,我什么都没有,对吧?勾折,我们接上,哎,那么你还没有选择商品,那么这个逻辑就对了啊,我们再去点一点 去接上,哎,没问题,对吧?没问题,你看这个效果也来了啊,那么这个订单,哎,我们就实现了,基本上啊,啊,我们这个整个一个, 哎,这个购物商城的整个项目啊,我们的难点啊,我们基本上都已经到这一节课,基本上已经学完了啊,那么我们这个订单也现在也没法去删除,对吧?好,我们加一个长按删除啊,我们来到这个 a double 的 里面, 我们在这里写一个,哎,长按事件啊,长按删除, 好,我们 hold 点, 点 item 啊,点 shift, 昂浪,有一个,我返回一个 to, 那 么在这里我们需要一个写一个结果去回掉 in the face 啊,那个 on item, 我 们写一个 on item click listen, 好, 我们回掉一个 on item on html click, 我 们接受一个当前的选择,哪个商品啊?我们这样,这样 or 等于 four, 那 么我们也可以去接受一个,哎, project 线, 这个 project 线也用不到,但是可以再这么去写着啊。 好,我们记住 get 和 set 方法,那么我们一般 get 不要啊,我们只要 set, 我 们在这里做个,哎,回掉,如果不等于弄, 我们就回掉房间的这个对象,我们叫 o o 等音符,我们把这个模式选拿过来。好,我们再回到这个 fragment 里面,我们在这里是不是有个点击事件啊? 点击事件, 好,我们,哎,点 写的啊,艾特肯定不认识的,有一个我们就会掉了。好,我们在这里啊,我们写一个啊,打一个对话框,是否要删除,对吧?我们啊,捏一个 not, 我 们转入这个上下文,我们一定要秀出来啊,慢慢一根秀,这个方法一定不能少。好,我们在这里去设置啊,念式调用啊, shift 它的运行提示, 点 set message, 确认,要删除吗? 确认要删除订单吗?点 set 点确认, 我们回掉,然后或者是取消, 这个是确定啊, 这个是确定,那么这个是取消啊, 取消就什么不用做嘛?啊,那么确定,哎,我删除的时候,我们是不是要,哎,我们就去删除。好,那么是在这个,哎, db 里面,我们是不是少了一个哎,删除的一个射口语句啊?删除, 但是订单跟这个购物车的删除是不是一样的啊?我们也是一样的啊,拿过来直接用。 那么这个,哎,为了看数据,我们把这个之前,之前啊,我们把这个 close 给关闭了,我们把这里改改,我们叫 o 的 o 的, 那么这个 id, 我 们叫 o 的 id 了啊,我们加入这个 o 的 id, 我 们看看这个有没有问题 啊,定义的啊,表明啊,根据谁来删除条件啊?那么根据 order id 来删除没问题。那么回到 order fragment 里面来。好,我们调用一下, 点 good get instance 啊, get 上下文,点啊,我们定义的插入这个, 我们在这里啊, alt 点 delete 啊, alt 啊 d, 我 们,哎,也是一样的,我们加个空转啊,四圈 and 类型变四圈类型,我们加个空转就可以了,对吧?选择 返回一行,如果这个行大于零就删除成功。第四, 那么否则就是删除,删除失败嘛, 怎么办?那么删除成功,那么是不是我们要去重新去加载一次数据啊?我们要把这个页面去刷新啊,那么直接调用 note, 对 的,我们也可以了。好,我们去看看, 我们登录没问题,我们删除。确认。要删除吗?我们确认没问题,没问题。 好,那么我们这个订单也完成了啊,那么我们在这里还有一个小小的优化啊,就是我们在这个, 哎,这个购物车点击结算的时候,我们这里的这个地址和这个手机号是写实的,对吧?我们在这个, 欸, cut, 欸, fragment 里面啊,我们在这里啊,那么我们在这里的时候是不是也要欸,给一个的士框,对吧? and dialog, 对 吧?我们给个的士框,我们输要输入这个,欸,这个地址和这个手机号啊,那么我们下一期视频来完善一下。好,今天就讲到这里。

好,哈喽,大家好,好,今天我们继续这个学习这个购车啊,那么我们要实现这个 点击这个添加的时候,哎,我们就要加购商品啊,我们点击减的时候就要去减购商品。好,上一集视频我们已经学习了,哎,这个 实现这个购物车的列表,那么我们今天继续这个学习啊,啊,那么首先我们要找到这个,哎,这个卡尼斯的,这个大不大啊?那么我们看一下啊,做一个点击事件啊,那么这个,哎,这个加 b d n plus, 这是加啊,那么减,要么减,哎, action 啊, d r a c t 啊,好,我们找到这个空间,对吧? e t n plus, 开始啊,我们找到空间, 好,然后,哎,设置点击事件啊, hold, 哎,点 点 e t n, 哎,我们这个减啊, 你看这里面的啊,我们这个是加啊,点 e t n plus, 那 么我们要写一个回调,也是一样的, in the face 啊, on item, 我 们,哎,我们,我们回调一个加,对吧? on plus click, on plus, on click 啊, 啊,那么还有个键,对吧?那我,嗯, struct substructure, 好,那么我们介绍一个啊,这个卡上的,那么我们介绍一个 pos 型啊,这个 pos 型要不要?都可以啊,那么我们写上, 那么这个也是一样的啊,那么写个 好, 我们第一个 get 和 set 啊,我们只要这个 set 就 可以了啊,那么在这里我们回调一下啊,那么点击它的时候,点击减的时候 点啊,转进来啊,泊车键接受一下,在这里,哎,我们就是,嗯, plus, 那 么就可以了, 好,我们来到这个,哎,这个 cut fragment 里面啊,对吧,那么在这里,哎,点击事件, 那么点 set 啊, on item creation, 那 么这里就是,哎,加,哎,那么这里就是键, 好,我们减要做什么逻辑?加,要做什么逻辑加的话,哎,我们是不是啊?看一下啊,我们点击它是不是这个商品,就是修改这个商品的这个数量,对吧?那么我们在哪里有,那么在这个 点 get instance, 那 么上下文啊?点,我们调用这个 update, 就是 更新啊,就是更新的数据, 那么我们点击这个商品的时候,是不是只是说只做更新,对吧?好,我们就是调用它啊,更新去修改购物车,我们加一就可以了,那么它这个传进来,点 get 啊,这个看 好,加完之后我们是不是就要去刷刷,要去刷新数据,对吧?好,我们调用这个重新去拿,拿一次啊,对吧?重新加载一次这个数据啊,对吧?调用它查询就是查询嘛,做一次查询嘛,啊,好, 减的话啊,那么是不是要就要去写一个减的这个这个缩口语句,我们减跟加其实没多大区别啊,我们先复制,嗯, 那么这个就是减,减勾 啊,减勾,哎,这就是 sub structure, 那么在这里的话,那么是不是这个就是减一了?那么这里要一个注意点啊,那么就是比如说我减减,减到一的时候是不是就不能再减了?因为商品不可能有存在这个负数,对吧?那么我们在这里就要做一个判断啊, 我们在这里做个判断啊,如果,哎,这个点 get 大 于等于二的时候,我们就可以,哎,我们可以减了,如果说小于它就不能减了,至少啊存在一个嘛,对吧? 嗯, return 在 这里啊,否则的话,哎, return 跟零就可以了, 好,我们调用这个方法就可以了。减购其实跟这个,嗯,添加的时候,哎,加的 添加啊,加购的时候只,其实只有一点点区别啊,那么做个减,并且加个逻辑,就就是说这个,哎,我们点的时候,对吧?减,减到为一的时候就不能再减了啊,对吧?不能,可能商品你购买的时候还有负数,对吧?买负一键,负二键,对吧?这不存在啊, 好,就做这个每一个逻辑,那么在这里剪啊,我们就是 god 点 god, god activity 点加 subjack, 那 么也是一样的,参数都是一样的, 那么也是一样的,哎,我们把这个剪完之后,我们是不是要重新去查一次,对吧?啊?重新去查一下数据库啊,我们 no 的, 对的,我们看一下效果, 我们看一下。好,加减减减,我们减到二可以减,好,我们再应该是不能再减了啊,那点就没没有效果了啊,好,那这个,这个就已经实现了啊, 那么减的时候,那么是不是这里还有个结算啊,那么我们点击加的时候,那么这个合计也要跟着去变化啊,我们把这个去实现一下,我们在这里 我们计算,哎,我们加 b t n ctrl, 我 们接着总的金额,对吧?我们总的价格,我们也要写一个叫 ctrl, 那 么我们把这个按控键找到, 那么这个是 button 啊,看一下啊,我们这个是 button 啊,那这个类型是 button, 我们轴式化空间, 那么这个是不是,哎,结算这个点击事件,对吧?啊?结算的点击事件, 我们这个结算首先先先不做吧啊,那么我们把这个合计把,写了,那么先把这个点击事件先写上啊, 嗯啊,我们合计 好,我们把这个总的这个价格啊,我们怎么去?哎,这个比如说,哎, 我点击的时候,哎,我们首先一进来,对吧?我们就要把这个首先要结算,对吧?它自动去算出这个总的价格,对吧?好,我们去怎么去写啊?那么我们写个方法为 我们加 set 拖头,对的,那么我们需要一个我们,那么我们首先肯定要接受一个集合,对吧?所有的这个购物车里面的数据,我们看 miss, 那 么首先我们肯定要循环,对吧?那么总的价格是怎么来的?商品单价乘以数量,单价乘以数量,我们相加,对不对?好,我们去写个负循环, 点 sets, 那 么总的这个我们这个价格啊, 好,我们就就是,哎,点 get 啊,点 get 啊,那么这个价格乘以这个数量, 点 get 啊, ctrl, 那 么是不是一个上面的总的价格,对吧?那么要所有的,那么对吧?计算所有的,那么这个先定一个啊, ctrl, ctrl, 那 么定一个 哦,循环一次,我们是不是就要哪加一次,对吧?嗯,这个 ctrl 加 plus, 对 吧?那这个就是这样写的啊?好,我们计算一个商品一次循环去计算,对吧?我们总的价格就是它了,那么循环计算完之后,我们是不是就要设置啊?设置, 设置数据,那么怎么去设置数据?我们刚才已经找到了这个价格,对吧?加 tool 点 c 的, 我们就 tool 加,哎,我们也有一个 点零零啊,好,我们去看一下,我们在这里要调用一下,那么我们一进来是不是就要调用啊?在这里啊,在这里,在这里我们加完加载,哎,这个加载完成数据之后,我们就要去计算价格,对吧?我们把这个 我们写在这里啊,写,写在这里也可以,比如说,哎计算,把这个哎调用一下在这里把这个结合成进来,对吧? 好,那我们哎,我们剪的时候是不是也要调用它啊?那么先把这个哎用计算出个价格啊,计算 价格啊,我们减减的时候啊,减个商品,他说是不是一样去动态计算,对吧?那么这个价格肯定是不一样的嘛,对吧?啊?我们去点一下进行看下这个效果, 好,我们看一下啊,你就可以计算出来了,对吗?我们减减,哎,这跟着变了啊,这个应该是没问题的, 默认的时候,哎,我们把这个改一改,点,零点零零啊,我们再去看一下, 没问题啊。好,这里还有一个,就是我点击这个商品的时候,点击商品的时候,对吧?我可以把这个商品删除,对不对? 好,我们做一个长按删除啊,删除商品,因为现在这个商品不能删,对吧?我们加入到购物车里面去了,但是我不能删掉啊,那么我要做一个,哎删除啊,那我在这里做一个长按删除啊。 好,我们在这里这个找到这个看的 miss 的 啊,那么做一个长按删除在这里,哎, hold 点,哎,奥特曼点 shift 浪啊,有个浪,长按删除啊,另一个, 那么我们就要回掉一个长按删除的事件,对吧?啊,我们在这里直接加啊,默认第一二,那么删除 and click, 那 么参数也是一样的啊, 如果,哎,哎,在这里,哎,我们如果它不等于这个空 点,哎,我们低一点啊,我们把这个转过去,我们就可以在这里啊,这个 cut 这里,我们肯定这里要实现我们的方法,删除, 删除,那么删除怎么做好,那么在这里啊,也是一样的,我们在这里写个收口语句,对吧?我们删除,删除, 删除勾折商品,对吧?好,我们可以也是一样的啊,我们在,在这里啊,在我的这个笔记上面啊,那么也删除, 你这样的怎么去改啊?在这里啊,我们删除肯定要有一个,哎,唯一的标识去删除啊,那么叫这个卡的 id 啊,对吧?好,我们这个表哎, 这个表叫退步表,卡的表,这里改一下,但是它对应的啊,这个卡的 id 对 应的是数据库的那个表明叫下行 id 啊,我们在这里看一下是不是的, 在这里啊,在这里啊,其实这个卡的 id 对 应的就是那个表的这个下弧线 id 啊,那么把这个 id 传进来就可以了,看一下,嗯,也没问题啊,写法好,这个没问题啊,我们在这里调用 也是一样的啊,卡的点 get 点你的,我们把这个卡点 get 传进去。好,然后看一下 啊,他需要一个时序类型的,那么加个双一号啊,就可以了。好,我们这个删除之后是不是也要更新数据啊?我们 note, 对 的,也可以看看。对对对,对的啊,我们查新数据,然后重新去计算价格,对吧?好,这个没问题啊,看看 逻辑没问题,看看有没有问题啊,好一个啊,删除,删除,删除,没问题,没问题。好,零点零零元没问题啊,我们再去加一个, 添加成功,我们去看看啊,没问题啊,那么删除的时候啊,最最好做一个单调,对吧对吧?对,括号的底型要不要去删除,对不对?这回看上去友好一点啊,那么在这里,我们,我在这里,对吗?我们切一个 not not 单调的点, 哇,不是,不对,不对啊,我们六个 i n l 的 啊,对的啊,我们,哎,加一个上下文进来,我们秀,先秀出来啊,那么在这里,哎,给个 点 set 这个 tab 确认是否要闪住啊?微信提示啊, 第四点 set 这个 message 确认,确认, 确认是否要删除商品,我们给一个商品。好,给一个点 set 啊,我们把这个我们加确认。 每次点 set 啊,我们有个取消啊,加取消, 我们取消就什么都不用做吗?对不对?我们那么把这个把这两行代码,我们点击确认的时候,哎,我们去做插座就可以了,我们看一看效果怎么样。 好,我们登录看看啊,我们点击答案 a, 这个可以,对吧?我们取消什么都不做,我们点击确认。好,没问题啊。 啊,那么整个这个购物车啊,我们就基本上就已经完全的已经实现了啊,那么这个已经讲了三节课啊,购物车啊,我们讲了三节课啊, 基本上,哎,这个功能已经全部实现了。好,今天就讲到这里。好的,拜拜。

学安卓开发的第一步不是写代码,而是被 grade 给卡死,在下载超时,别慌啊,大龙,今天手把手的教你怎么解决这种场景。首先呢,呃,可以在左手边哈,打开 grade warp, 然后呢,看到这个 grade warp, 打开它,找到这一行配置啊,把这个地址 给它换成国内的镜像地址。然后呢,我们可以点击右上角的 try again, 再次的重试,然后可以看到这边的下载速度飞起,等待一段时间,完美解决网络问题。但是哈,我更推荐你去使用第二种形式。 首先呢,记住你的 great 版本八点五干冰。然后呢,我们打开 great 的 托管仓库哈,在这边呢,我们可以看到有各种各样的 great 版本,我们可以搜索八点五, 接着哈,找到这个压缩包,点击下载,当然哈,这个时候呢,依然有可能出现下载缓慢的问题啊,没关系,我们可以复制这边的呃链接。然后呢,打开迅雷,或者说下一些下载软件,速度直接飞起。 下载好之后啊,重点来了哈,我们回到 android studio, 然后呢,查看左上角 file, 选择 settings, 然后,呃,可以继续选择这边的 build, 好, 找到这个 grade。 在 grade 当中呢,我们去找到一个 grade userhome 这个配置哈,啊,这个就是你的 grade 的 依赖文件所存放的路径啊,我们记住它。然后呢,在文件夹当中去打开它啊,接着呢,找到这个 warp 啊,再进入到这个 disk, 然后啊,一定要记住,你这个工程的 grade 版本是八点五干冰啊,我们刚才下载的这个版本也是八点五干冰,对不对?好,然后呢,我们找到这个八点五干冰的文件夹, 接着,好,你会看到一个乱码文件夹啊,再次点击进去,把我们所下载好的文件啊复制到里面去,这边注意好,我们不需要解压。呃,所以呢,我们要把它的原文件把这个压缩包 啊压缩包呢,直接给它放到这里,不需要解压好,然后呢,我们回到这个 android studio, 点击右上角的新建 note, 稍微等一会啊,他就会提示你构建成功啊,我们就可以搞定安卓开发的第一个大关。可以看到这边呢就已经是编辑正常了 啊,然后你顺便你可以切到这个格瑞德目录,你可以看到啊,他会自动的去帮我们处理这个压缩文件,到这一步呢就表示配置成功,关注大龙,带你解锁更多安卓开发知识。

hello, 大家好,今天我们继续这个学习这个购物商城啊,好,我们今天来学习。这个点击结算的时候,哎,我们就要有一个支付的温馨提示啊,我们要输入这个联系地址啊,输入这个联系方式啊,好,我们来实现一下, 好,我们找到这个 card frag 面啊,点击结算的时候,哎,我们在这里啊,钥匙里面如果说有商品的话,哎,我们就提示啊,我们去, 我们就要提示句,哎,我们弹一个对话框,对吧,因为我这里之前是把这个地址和这个手机号写实的,对吧?那我们今天来改一下,首先把这个先注视掉啊,等一下再写好,我们你有个代码啊,代码代码, 我们上下文给大家 t v t 啊,那么一定啊,秀出来啊,秀啊,这个方法一定要调用好,然后我们要一个念式的调用啊,我们试着,哎,这个 tab 用一下啊,支付温馨提示啊, 我们看一下这个游玩好,好,然后下面是一个输入光,对吧?还有一个输入光和一个收货地址啊,那么我们在这里啊,加载一个布局文件,点 c 的, 这样的啊, c do u, 那 么我们这里是需要去加载一个布局文件,我们就用 nord, 你 点 inflater 啊,点啊,点 nord, 我 们啊,点我配,哎, nord 你 配 dail 啊, nord 啊,这个没有,那我们去创建一下啊, 中间啊,换个信息布局,我们这里,哎, 写一个,我们写个信息布局啊,我们左右啊,那么我们这个左右的间距,左右的间距,给个 mark 二十六 d p 啊,然后的话啊,我要一个,哎,二维码,对吧,那么我们提前去准备一张二维码,我,我已经准备好了啊,在这个桌面上复制, 然后放到这个下面啊,放在这里啊, 那么首先,哎,可以上图片啊, s r c 加 m g。 还有这样的效果啊,我们举重水平举重看看啊, 好,我们给一个方向啊, orientation, 你 这一次啊,我们这个图片就集中了。好,然后下面的话是一个,呃,这个看看啊,是个联系方式和地址啊,你给个五十 d, 五十 d p 啊,看一下,那么给个,哎,第四,请输入, 请输入手机号,我给个扇子一十四 s p 可以。 好,我们给个请输入 地址看看,请输入收货地址啊, 收货地址。好,那么我们这个手机啊,给它限制一下,我们只能输入这个 number 类型,对吧?只能输入数字,并且只能输入 只能输入一十一位啊,就可以了,我们看看这种效果。好,我们在这里啊, 加载一下啊,返回一个 vivo, 我 们把这个设置进去。好,然后有个,哎,每个取消和这个确认按钮, 哦,还有个确认按钮。 好,我们先去看看效果, 我们看看,我们点击了,哎,这种效果就出来了啊。嗯,那么还有哦,这里还有价格啊,总的价格也没写上去,我们在这里再加 这个,下面我们用一个限行布局包裹一下, 嗯,也是一张图片啊, 然后给一个,还有一个价格, 那么这个扇子我们二十二十四 s, 那 么 先这么写,我们给个加粗颜色,不知道,我们在这里啊,随意给个颜色,然后再去选择,那么给个加粗,那么这个,哎, 下面,然后下来了,我们再去微聊一下,给个五 d p 看看啊这种效果,然后我们最终这种效果看看啊,没运行 好,接上这种效果就可以了啊,输入手机号,输入这个收货地址,我们看看,这只能输入十一 啊,应该是只能输入十一位啊,数不动了,可以,这个没问题。好,那么首先我们要找到这个空间,对吧?目标一体,目标啊, 那么这个 e t 的 键是我们来到啊, ctrl f g 的 里面啊,那么我们在这里就要找到这个键啊, 这个是我们叫 e t 啊,这个目标一二一,那么怎么找到啊?那这里就不能直接放到 v u b i d 了啊, 不能直接放到 vivo 八 id 是 没有的啊,那么我们只能通过,因为是通过它来加载这加载的这个一个布局文件啊,那么我们通过它来找到放到 vivo 八 id 啊, id 默认, 然后的话,哎,我们一踢的键是看看 啊,没问题啊,好,我们在这里啊,我们就要做一个判断,确认的时候我们就要判断有没有这个输入,对不对?我们也是这样的, 一定要坚持点 get 点拖时距,那么也是这样的啊,目标 一点,目标 点 get 点拖时距,我们做判断,如果 第一次 a d d j s 的, 或者只要一个不为空,只要一个为空啊,那么我们都不能让它这个执行,对吧?我们只要读是仅完善地址,嗯,记得 请填写。哎,请填写完整信息啊,信息,那么 else, 那 么 else 是 不是就执行这里面的逻辑,对吧?我们那么把这个拿过来,放进去, 我们格式化代码,那么我们把这里个,哎,之前写实的这个地址我们就可以放进去了啊,我们把这个 mobile 也可以放进去,嗯,我们去看看啊, 我们点击,我们点击结算,哎,提示,这个我们确认,到时候请填写完成地址,对吧?这个没问题,收货地址随意写啊, 背心 我们看看,我们确认,那么可以了,我们看看这个数据里面有没有啊, 好,我们在这个 order 订单里面啊,在这里啊,对吧?有啊,北京朝阳啊,没问题啊,好,我们在这里啊,给给句话啊,那么我们在这里, 好,我们在这里。好,给句话叫支付成功, 好,我们看看效果, 我们点击它啊,我们加一个勾加一个,嗯,没有的话,哎,我们就提示没有选择商品啊,我们加入购物车里面去,我们点击啊,比如说 我们就好支付成功啊,那么这是看看 啊,在这里北京,对吧,那么也是可以的,没问题啊,好,那么我们整个一个项目啊,我们难点啊,我们从这个购物车好到订单啊,这个项目的难点基本上我们 就实现了,然后的话在这里啊,我们也要去处理下。点击购物车,我在这里加入到购物车的时候也要做一个这个对话框,对吧?我不能点一下就添加进去了,比如误点了呢,对不对啊? 误操作了,对吧?我们就不能点一下就直接,哎,我们添加到购物车里面去了,那么我们也要做一个对话框的提醒,对吧?那么在这个啊,相亲页啊,我们相亲页好加入到购物车,我们在这里也是一样的, 那么我们另一个大了 啊,我们 get 上下文啊,啊,我们用在在 activity 里面,我们就用可以用这个测试啊,测试我们点秀出来啊,那秀一定要调用啊,不然的话这个对话框显示不出来啊,点秀的,那么它的 键是否加入到购物车?我们给个点 set, 哎,我们一个圈 六个啊,黑掉 set 的, 我们一个取消。 好,我们把这个代码放到进去啊, 那么添加成功的时候,哎,我们这个页面就要去消费掉,对吧?我们就来到这个页面啊,那么在这里啊,给你写, 那么把这个项目都是慢慢的啊,主要的我们把这个大致的功能去实现,然后慢慢的小的细节,我们慢慢的一步一步去完善啊,那么我们这是一个开发的一个流程啊,好,我们看看,好,我们点击, 我们加入购物车啊,啊,加入购物车啊,提示是否加入到购物车啊,那么我们确认,哎,添加成功,对吧?我们就有了, 比如说我再添加一份服装看看,可以,没问题啊,没问题啊, 还有一个小小的优化啊,还有个小小的优化,就是我点击结算的时候,哎,这上面的啊,这个对话框上面的这个价格没有变,对吧?好,我们,那么我们去实现一下啊,那么我们在这个 o 的是 o 的 吗?看看啊,啊,购物车里面啊,看里面, 那我们找到这个,哎,合计里面啊,我们找到这个布局文件,对吧?我们把这个价格啊,我们空间找到。嗯,加 t v two 的, 我们找到这里 啊,那么这个价格怎么找到,对吧?怎么去设置啊?设置中的价格, 那么其实我们在这里拿过来就可以了嘛,对吧?我们在这里已经在这里显示了,对吧?那我们直接设置这里的文本就可以了嘛,或者是说我们这里有个计算,对吧?我们把这个代码拿拿,拿到这边来,对吧?拿到这里来, 我们直接,哎,获取上面这个上面的文本就可以了吗?对不对?好,那么在这里啊,好点, c 的 那么加,就把这个上面的文本拿过来就可以了。简单一点啊,点,对的,这个是 点。好,我们去看看。 好,那么一百七十五,我们结算,没问题,对吧?我们啊删掉我们再去看。这个没问题啊。减,再去看,没问题啊。好,今天就讲到这里。好的,拜拜。

啊,哈喽,大家好啊,我们今天继续来这个学习这个订单列表哈,那么之前啊,我们把这个收货地址已经动态去显示 添加进去了啊,那么我们在这个订单列表里面并没有这个收货地址和这个联系方式,对吧?好,我们今天把这个收货地址和联系方式,我们把它显示出来啊,我们来到这个项目里面,我们在这个啊, 在这个 order 啊 list 啊 w 里面啊,我们把这个收货地址去写一下,我们在这里啊,我们在这个啊,这个布局里面啊,我们给个方向,哦,对,选对住, 我们在这个后面,哎,去追加一个文本就可以了。那我们给个啊 text 收货地址送来普通 动啊,我们给一个啊,攀顶这个是 d p, 并且给一个以这个背景颜色啊,我们灰色 这种效果,并且这个扇子我们给个 s r, 不要太大了啊 s p。 好, 我们给个啊 i 的, 就是 我们把这个空间去找到啊, 在这里啊,也是 把这个空间找到, 好,我们在这里啊,在这里设置地址。怎么设置啊? hold 点 这个的键是点 c 的, 那么我们用这个啊,好,我们 加上这个 alt 点 get 这个地址 add 键,我们屏上我们这个,把这个, 我们再屏上这个这个,哎,这个联系方式目标, 那么再 我们这样拼起来啊,我们去看看啊, 我们去运行看看效果。好,你看看啊,这种效果啊,看这个没问题啊,这个没问题 啊,那么我们这个订单模块啊,到今天为止啊,就已经全部结束了啊,今天就讲到这里好了,拜拜。

啊 hello, 大家好啊,上一期视频我们学习了这个个人中心,好,我们今天来学习这个修改密码,好,我们来实现这个修改密码的这个 ui, 啊,我们打开这个项目,我们用一个 activity, 啊, 我们叫 update password activity, 我 们把这个 ui 去实现。好,我们,哎,改一改,我们搞一个现行布局,好,我们方向 给个 orientation 垂直,好,我们搞个标题,对吧?我们颜色,哎,主题颜色我们给一个哎,返回图片, 好,我们给个 type 修改密码,我们给个颜色, 我们,我们给个颜色。啊,啊,这种效果,我们下面还用一个线型布局包裹一下, 我们也给个方向或推线垂直,我们离左边二十六个 d p 啊,离右边啊二十六个 d p, 我们迷上面,我们搞个五十 d p 好, 然后的话,哎,我们有有一个哎,请输入新的密码和确认密码,我们搞一个,哎,现行布局,我们五十 d p 好, 然后有个左边一张图片,对吧? 哎,这种效果,然后给个背景啊,后面有一个 一提啊,这种效果好,然后的话,啊,我们要个垂直水平垂直这种效果,然后给一个哎。安迪 left 是 个底皮,安迪 red 啊,是个底皮。 好,我们要一个文本框,输入框给个哎,提示,请输入新的密码, 我们给个 take a size 一 十四 s p 啊,我们把这个背景这个下划线去掉,我们不要给个 no, 这种效果 好,我们给个哎。潘迪奈,给个四个 d p, 这种效果好,可以,然后我们给个还有一个确认密码,对吧?再次输入这个确认密码,好,我们给一个 marketop 四个 d p。 好, 请,请输入确认密码, 我们给个先给个哎,密啊,我们密码是密文,对吧?我们给个 输入音符的那个类型叫 text 发送的啊,我们就是密文了,我们把这个去掉,我们把这个上面也加上,好,可以了,我们搞个 button, 对 吧? button 我们离上面,哎,给个三四 d p, 给个文本,要修改密码, ok 了,那么我们给一个哎 id 啊,给空间一个 id e t 六, 请输入新的密码啊,新密码,好,你给可确认密码 e d config 一 百二,一百二二 m comf comf comf 八十五的,那么这个答案值的话啊,不知道的我们可以去,在这里看到没去有道一下啊, comf comf comf 啊 comf, 那不要写的这个,写的这个很随意啊,这个文字的这个空间的秘密啊,我们写的规范一点啊,那么我们这个 button 也给个 id 啊,加 up 这个 那是我的,给个 b t n, 那 么哎,我们去实现,首先啊,定义空间,把它空间定义出来 一提啊,按钮八十五的,还有个确认密码桶盖八十五的,好,门在这里, c o n, 我 们在这里,我们做缩放空间在这里找到,那么我们在这个 active 里面就可以直接放到 v u 版 id, 对 吧? 我们好,然后我们有个点击事件啊,修改密码, 点击事件,好,我们放的点 ip, 点 p t n, 点 set on connection, 你 有个 on connection 呢,好,我们获取文本,对吧?我们获取这里面的文本啊,怎么获取啊? 点 get text, 点格式键 c o n 二 到 d, 一 提点 get 格式键,那么我们点击这个修改密码的时候,对吧,那么我们要做个万达, 不能为空,对吧?我们 text 用 t s 点一次 n p t 或者啊一次 没空的时候,我们就提示一个,给个提示语,我们把这个打全啊,吐实,吐实打全,我们就可以这么一句话,可以打出来啊, 信息不能为空, 钥匙,钥匙一副,那么我们还要去做一个判断啊,判断这个两次的密码是否输入的一样的,对吧?我们这个啊, 你是点一块四啊,我们等于他,哎,我们就,哎,就我们做这个修改密码的逻辑,那么我们在前面加个飞啊,不等,就是两次密码输入不正确啊, 那么新密码和确认密码不一致,那么就 yes, 那 yes 就是 修改密码,那么修改密码的时候,我们是不是啊?找到这个右键 dbh, 那 么在这里去写个修改密码的设口语句修改 密码。好,那这个设置语句也是一样的,我们直接在这里啊,也是一样的,在这里啊,设置语句的侦查检查通用的,那我们也可以在这里去找啊,那么我们修改修改的设置语句。 好,我们转入一个啊,根据谁来修改啊?根据 u 三链来修改,修需要一个 u 三链。 好,我们修改密码就可以了啊,叫 python 的, 在这里方便,那么这个参数啊,哎,这样 就可以了啊, python 等于上面看看啊,有没对,没问题啊,好,我们所有的,像我们这里面的啊, 啊,像我们的这个购物车呀,订单,是不是我们都是根据这个啊,设个语句的侦查检查的这个通用的这个模板来修改的,对不对啊?这是通用的啊,我们去实现一下, 首先对吧,我们要拿到当前用户的信息啊,我们在这个 user for 里面点 get user for, 我 们做个判空处理啊,也就是代码的严谨。 好,我们不等空,那么我们叫 d b 啊, user d b, 点下文改 delete instance, 我 们输入,我们需要一个上下文删除, 点我们 update, 我 们输入这个 user name, 点 get, 我 们把这个密码丢进去,我们返回一个,返回一行啊,那么如果这一行大于零,修改密码成功, 密码修改成功,请重新登录,那么给个费利息钥匙,那么就是修改失败。 好,我们看看啊, 点击它,那么是不是我们要在这里做个点击事件,对吧?在个人中心我们找到啊,在 me fragment 里面,我们找到这个点击事件, 我们在这里加个点击事件啊,我们这这个点击事件可以作用在这个啊,相相对布局上面啊,我们不一定啊,我们修改在这个,哎,点击这个修改密码的时候,或者点击这个图片的时候去修改我们作用的区域啊,点击的区域放大一点,我们作用在这个上面啊, 哦,对的,我们在这里,我们在这里啊,修改密码, 好,那么在这里啊,我们是需要啊,启动一个啊, activity 啊,要用 int 的 叫 get 啊,在 fragment 里面啊,获取上下文叫 get activity 啊,那么叫我们调整到对的, 好,那么我们在这里啊,我们启动 activity, 那 么我们今天要用哎,这个 start 啊, activity 啊, for return 啊,都用这个啊,函数去启动, 我们给一个全值,给一个啊,这个标识是以前为什么要用这个啊?因为啊,我们在这里,我们在这个页面啊,我们在这个修改 密码那个页面,我们修改成功之后,我们是不是还要把这个主页面要去这个消费掉,对吧?好,然后我们再去启动一个登录页面啊,我们在这里,我们在这个,嗯, 在这个的修改密码的那个页面,我们要把这个啊,把这个页面啊消费掉,我们就要有一个回传啊,我们回传去消费掉,我们要 star 的 activity for rechat 的, 我们调用这个方法的时候,我们就要需要啊,在这里写一个啊, activity 啊, 点啊,在这里 rechat 的, 我们接收啊,好,我们接收一个啊,这个 rechat 的, 等一等一,一千啊,我们这个这个这个这个标识码啊,这个标识码跟这个是一样的,如果说这里取两千,那么这下面就取两千啊,那么在这里把这个当前页面消费掉,对吧? 并且啊,在这里还有我们启动一个登录页面啊,是这个意思, ok, 我们是 not 就 可以了啊,那么一定要注意啊,我们一定要注意,我们在这里啊,这,这里没做个点击事件啊没做做一个点击事件啊,我们入的啊,点 find, 有 id 点 点这个啊,点 c 的 on click next one, 我们接着去启动啊,我们用这个 start activity for 删除,我们去启动,我们点登录, 也就是说我在这里面修改密码成功的时候,对吧?我并且要把这个,要把这个页面也销毁掉,并且再去启动这个登录页面,所以我们要用到这个 start activity for 删除的去回传。好,回传的时候在这里面啊,在这个方法里面,哎,我们去启动 这个,哎,这个登录页面啊,我们,好,我们去看看,嗯, 我们修改密码好,比如说新密码一二三啊,一二三四,应该不对啊啊,新密码和密码不一样,我们去确认一下 修改密码成功,但是它没有去启动这么一个登录页面,对不对?好,那么这个问题出现在哪里啊?那么出现在这里啊,我们,我, 我们在这里 start active for result 的 时候,我们,并且,哎,我们要,要在这个 update 八十 word 里面啊,啊,要在这里啊,要 set 啊, result 我 们给一个一千啊,我们才可以,才可以回掉在这个方法里面啊, 我们再去启动一下,我们啊,那么这个已经修改成功了,看到没啊?一二三 啊,再去,我们修改回来,一二三四五六啊,看到没?我们再去利用这个之前的一二三去登录,应该不对啊,一二三四五六, 好,在这里可以了啊,我们在这里啊,写个注是,嗯,这是啊,飞船的事 要用啊,要用这个 s stock 的 activity 啊, 启动一个页面,并且再该页面 要设置啊,我们 start 啊 result 这么一个方法啊,然后再去把当前页面消费掉就可以了,但是我们用这个 set result 的 时候一定要调用这个 finnish, finnish, 我 们才可以在这个,哎, man, 在 这个个人中心页面才能回调到到这个函数啊,不然的话也是不生效的啊,我们再去看看, 一二三,一二三,好,没问题啊,没问题,我们再去登录啊,这个用户名或密码错误。一二三, 好,没问题啊,那么我们修改密码的时候,这个返回键还没做一个点击事件,对吧?那么我们这个就很简单了,这里啊,我们给个 id 图棒 按摩,在这里,我们就是啊,黑啊黑啊,写一个点击事件啊, 啊,第二个点啊,直接 set on click next one, 我 们直接拎一个,我们写一个 费利息。要用费利息啊,我们不需要去启动啊,不需要去启动回到这当前的页面啊,我们直接把当前页面消费掉就够了啊。每次特别注意啊,你之前每一节调用这个费利息的时候,我们都有讲到,对吧?好,我们去看看, 点击登录,我修改密码啊。可以啊,这个没问题。好,今天就讲到这里。