前端学习
未读1. Service简单概述Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行,Service基本上分为两种形式:
1.1 启动状态 当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响,除非手动调用才能停止服务, 已启动的服务通常是执行单一操作,而且不会将结果返回给调用方。
1.2 绑定状态 当应用组件通过调用 bindService() 绑定到服务时,服务即处于“绑定”状态。绑定服务提供了一个客户端-服务器接口,允许组件与服务进行交互、发送请求、获取结果,甚至是利用进程间通信 (IPC) 跨 ...
1.引言使用Android studio+idea构建一个简单的登录页面,使用mysql数据库存储数据,springboot框架构建后端。
2. 构建android前端使用线性布局创建两个输入框和一个登入按钮:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools ...
通用方法1、Windows+R键打开运行,输入services.msc点击确定,然后找到mysql的服务,停止它,或者在管理员权限的命令行中使用net stop命令停止mysql服务2、使用mysql的path路径运行以下命令:如果没有配置就找到安装目录下的bin目录后使用cd命令移动到bin目录下执行下列命令
1mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --shared-memory --skip-grant-tables
其中的路径记得替换成你的路径.
● 这里需要注意,–defaults-file命令不一定要使用,需要先查看mysql安装目录是否有my.ini文件,如果没有才需要设置。如果有可以不需要设置(设置了也行,所以如果不想思考太多就全部都设置)
○ 如果在mysql目录下(就是跟bin文件夹同级目录下)没有my.ini文件,就需要到C盘的ProgramData目录下找到mysql,去里面找到my.ini文件,–defaults-file的值就是my. ...
前端学习
未读数据库存储引言对于大数量结构化数据的存取,采用文件的方式操作复杂,效率低下,因此Android系统引人了轻量级嵌人式关系数据库SQLite,支持SQL语言,可以方便地实现数据的增、删、改、查等操作。
SOLite 介绍Android 系统集成了SOLite数据库,任何应用都可以使用它。默认情况下,SQLite数据库存储在内部存储空间的/data/data//databases日录下。
1. 重要的类和接口1.1 SQLiteDatabase 常用方法
方法
描述
public static SQLiteDatabase openDatabase ( String path ,SQLiteDatabase, CursorFactory, int flags )
以指定模式打开指定路径下的数据库文件
public void execSQL( String sql)
执行 sql 语句
public void execSQL( Sting sql, Object [ ] args)
执行 sql语句,args 为参数值数组
pub ...
1.引言ListView多布局Item的实现,例如QQ聊天界面
1.1 要点讲解
重写getItemViewType()方法对应View是哪个类别,以及getViewTypeCount()方法iew返回 总共多少个类别!然后再getView那里调用getItemViewType获得对应类别,再加载对应的View!
2. 代码实现2.1 列表一个简单基础的ListView,可以添加到任意想要添加的位置
1234567891011<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="verti ...
前端学习
未读1.获取权限获取相机和读写权限:
12<uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2.创建layout一个简单的layout用来实时显示内容:
12345678910111213141516171819<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <SurfaceView ...
后端学习
未读1. 创建一个menu
2. 代码menu.xml
1234567891011121314151617<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> //id <item android:id="@+id/message" //图标 android:icon="@drawable/message" //内容 android:title="消息" //展示方式 app:showAsAction="never"/> <item android:id="@+id/friend" android:icon="@drawable/fri ...
1. 引言
使用Android自带的矢量图库并不能找到我们符合的图标,导致界面做出来不够的完美,可以使用外部的第三方库来导入矢量图,这里找到阿里云官方提供的一个矢量库iconfont-阿里巴巴矢量图标库
2. 下载矢量图打开上述的链接后,可以在上方的搜索框中搜索自己想要的矢量图,点击下载按钮:
选择下方的下载为svg。
3. 导入矢量库
选择新建矢量资源,
创建后,在res/drawable文件下会产生一个 Name.xml的矢量图文件
4. 引用文件1234567<ImageView android:id="@+id/add_Contact" android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentEnd="true" android:layout ...
前端学习
未读1. Android 文件系统简介Android的文件分为内部存储(internalstorage)和外部存储(external stor-age)两大类型。
1.1 内部存储内部存储为手机等设备的内存空间,它挂载在Android系统的system/、data/等目录下在SDK版本变迁中,内部存储的功能定位和挂载路径没有发生变化。开发者可以使用模扣器+adb shell进人文件系统,或者使用 Android Studio 的 Device File Explorer 插件查看内部空间。
system/目录一般用于存储 Android 的系统数据,开发者无法进行读写。
data/目录一般存放缓存数据、用户应用程序数据等,具体的路径为data/data/。
内部存储的应用程序数据在应用卸载时被全部删除。
1.2 外部存储外部存储变化较大,Android4.4以前,外部存储仅仅指SD卡、TF卡之类的外挂移动存储设备;Android4.4及其以后,外部存储包括内置的外部存储和外挂的SD卡等存储设备当然,有些机器没有提供外接SD卡的功能 ...
前端学习
未读引言当我们需要调用系统组件中的各项自带资源时,需要使用到隐式启动activit样式,例如调用系统的短信,电话,相机等功能时。
Activity的隐式跳转:
不明确指定启动哪个Activity,而是设置Action、Data、Category,让系统来筛选出合适的Activity。
直接setAction方法
123Intent intent = new Intent(); intent.setAction("com.abc.view.fling"); startActivity(intent);
或者构造方法设置Action
12Intent intent = new Intent("com.abc.view.fling"); startActivity(intent);
注意:com.abc.view.fling 这个是自己顺便取的action 标记,自己的取名一般是包名+特定的命名
AndroidManifest 里面:
1234567<acti ...


