系列文章目录

软工课设学习记录贴


基于android原生Java+(后端)python+django

文章目录

  • 系列文章目录
  • 一、Android Studio布局
  • 2.Activity活动
    • 2.1 活动的生命周期
  • 3、底部导航BottomNavigationView+Fragment
    • 3.1 Fragment
    • 3.2 Frame Layout
  • 4.Intent
    • 4.1 显示Intent
    • 4.1 向下一个活动传递数据
  • 五、ButterKnife
  • 六、Recycler View
    • 6.1 basequickAdpater
  • 七、Glide
  • 八、网络
    • 8.1 Retrofit
    • 9.1 Rxjava 实现异步机制
  • 十、EventBus
  • 十一、context
  • 十二、MMKV
  • 十三、部署django到阿里云服务器
  • Basic settings

一、Android Studio布局

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

layout_width="match_parent"/wrap_content/100dp
layout_padding 同
//内边距
layout_margin 外边距




帧布局

约束布局

2.Activity活动





【Single Task】
每次启动该活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。


全局仅一个单独的示例栈

2.1 活动的生命周期

Activity类中定义了7个回调方法,覆盖了活动生命周期的每一个环节,下面就来一一介绍这7个方法。
❑ onCreate()。这个方法你已经看到过很多次了,每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。你应该在这个方法中完成活动的初始化操作,比如说加载布局、绑定事件等。
❑ onStart()。这个方法在活动由不可见变为可见的时候调用。
❑ onResume()。这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。
❑ onPause()。这个方法在系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
❑ onDestroy()。这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
❑ onRestart()。这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

3、底部导航BottomNavigationView+Fragment

link
设置是否选中的图片变化

3.1 Fragment

  • Fragment是依赖于Activity的,可以作为活动的一个UI组件嵌入,不能独立存在的,且更适用于移动端
  • 一个Activity里可以有多个Fragment。
  • 一个Fragment可以被多个Activity重用。

3.2 Frame Layout

link
FrameLayout的属性很少就两个,但是在说之前我们先介绍一个东西:

前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片。

两个属性:

android:foreground:*设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置

4.Intent

4.1 显示Intent

这个构造函数接收两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent的“意图.。
startActivity()方法,这个方法是专门用于启动活动的,它接收一个Intent参数,这里我们将构建好的Intent传入startActivity()方法就可以启动目标活动了。

4.1 向下一个活动传递数据

ntent中提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。比如说FirstActivity中有一个字符串,现在想把这个字符串传递到Second-Activity中

【取值】
首先可以通过getIntent()方法获取到用于启动SecondActivity的Intent,然后调用getStringExtra()方法,传入相应的键值,就可以得到传递的数据了。这里由于我们传递的是字符串,所以使用getStringExtra()方法来获取传递的数据。如果传递的是整型数据,则使用getIntExtra()方法;如果传递的是布尔型数据,则使用getBooleanExtra()方法,以此类推。

五、ButterKnife

参考链接

六、Recycler View

神奇解释

6.1 basequickAdpater

参考

七、Glide

Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。
代码参考

八、网络

8.1 Retrofit

Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装
参考1
3
参考2

9.1 Rxjava 实现异步机制

link

具体使用

十、EventBus

link

EventBus没出现之前,那时候的开发者一般是使用Android四大组件中的广播进行组件间的消息传递,那么我们为什么要使用事件总线机制来替代广播呢?主要是因为:

  • 广播:耗时、容易被捕获(不安全)。
  • 事件总线:更节省资源、更高效,能将信息传递给原生以外的各种对象。

十一、context

miao

十二、MMKV

参考

十三、部署django到阿里云服务器

这里用了阿里云免费试用一个月的优惠,配置如下:

1核 2GB
Ubuntu 20.04 64位
网络带宽 3M
云盘大小 40GIB

小白式操作:

  • 直接进入远程连接-云助手,配置相应环境
apt update
python3 -V
pip3 install django==3.2.9
  • 利用mac自带shell远程连接传输文件
put /Users/bytedance/Desktop/shop_1.zip  /root
  • 安装解压文件,解压对应文件
apt install unzip
  • 设置django的设置文件里ALLOW_HOSTS加上当前服务器公网IP

方式1

ALLOWED_HOSTS = [‘外网ip’,‘localhost’, ‘0.0.0.0:8000’,
‘127.0.0.1’,]

方式2

ALLOWED_HOSTS = [’*’]
  • 设置阿里云网络安全组
    阿里云设置开放8080端口(安全组设置),阿里云的控制台-主机-安全组
  • 启动服务
python manage.py runserver 0.0.0.0:8000
  • 外网访问

Basic settings

sudo spctl --master-disable

【Android开发】相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. java安卓开发工具_推荐几个非常实用的Android开发工具

    工欲善其事,必先利其器.我们进行Android开发也要有好的开发工具辅助才能更好更高效的完成各种开发,为用户提供更实用的应用程序.本文就为大家推荐几个非常实用的Android开发工具,及几个常用的编辑 ...

  3. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  4. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  5. 2017-2018-2 20165236 实验四《Android开发基础》实验报告

    2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计       班级:1652班       姓名:郭金涛     ...

  6. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  7. indows上的android开发环境软件架构5

    (二)实验要求: ? 修改按下button 显示的内容中添加上自己的学号姓名: ? 添加一个按钮,按钮名称为"退出",并且为这个按钮添加事件代码,使得点击这个按钮后退 出程序.事件 ...

  8. 折叠屏就要来了,适配逼死 Android 开发?

    1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发. 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机.并表示,新技术需要开发者调整其 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

  10. FlashDevelop Android开发.md

    2019独角兽企业重金招聘Python工程师标准>>> FlashDevelop Android 开发 > author: gwang(wanggangzero@qq.com) ...

最新文章

  1. linux隐藏文件的方法,Linux下隐藏文件的操作方法
  2. java检索txt文本_lucene索引word/pdf/html/txt文件及检索(搜索引擎)
  3. Kafka MirrorMaker2.0 (异地双活/跨数据中心容灾/跨集群容灾)
  4. 过年战胜熊孩子骚扰的终极攻略,拿走不谢!
  5. less,more,view一个文件时中文可以正常显示,可是VI却显示乱码呢?
  6. 6.exports、module.exports、export、export defalut
  7. Kinect开发教程八:OpenNI2显示深度、彩色及融合图像
  8. 从抓包的角度分析connect()函数的连接过程
  9. 域网批量装系统通用版服务器,局域网批量网刻Ghost
  10. 爬取某在线恶意软件仓库病毒文件进行分析
  11. 静水流深2010年版系列教程[转]
  12. MATLAB图像如何显示希腊字母、上下标(alpha、beta等)
  13. Android 测试工具集01
  14. 一种有趣的隐写技术(图转声,声转图)
  15. 利用requests库获取cookie的两种方式
  16. python输入文字垂直输出_python中len用法-python计算数学表达式-利用python如何垂直输出文字...
  17. vue中实现浏览器全屏放大
  18. NX/UG二次开发—CAM—用户自定义刀轨(UDOP)+ 螺旋铣用例教程 + 源码
  19. 北大青鸟java超市账单管理系统_北大青鸟java第二单元超市账单管理系统
  20. 钢琴转谱技术(MP3转MIDI)

热门文章

  1. Python爬虫数据写入MongoDB
  2. Mac必备软件推荐:Photoshop 2022(ps2022)中文
  3. 软件外包项目管理实务
  4. H5 兼容底部地址栏、搜索栏
  5. 【全网最暴力解决方案】使用gdb调试时遭遇“Missing separate debuginfos, use: debuginfo-install glibc....”报错信息
  6. LWN:万维网之外的选择!
  7. .Net 常用的ORM框架
  8. 超市进销存系统的设计与实现
  9. execution常用表达式整理
  10. 计算机网络:IPv6