亲测:博主有课内学的粗浅的JAVA基础,其余从0开始,7天做出了一个“蓝牙智能窗帘”的APP。事实上,如果不是纠结蓝牙的一个bug不肯改方案,其余的学习和完成应该用了不到三天。
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
ADT:Android 集成开发环境,命名为 Android Developer Tools。
第一种装ADT的方式是:Eclipse+Android SDK+ADT Plugin。
第二种方法是安装Android Studio。
我采用的第二种方法。
查看Android Studio版本号:help->About
按着软件安装管家
里装的,成功装好了(JDK和adb是之前自己装的)
参考自:使用Android Studio开发Android APP
我选的最低Android版本是23,即6.0版。
Android Studio采用gradle来构建项目,gradle是一个项目构建工具,可以完成软件环境部署和打包等任务。在build.gradle文件中写项目的配置,比如引用外部仓库的工具等。你在Android Studio写好的代码最终要下载到手机里,或者打包成apk发布出去,这里的工作就依赖gradle完成。
项目中一般会出现2个或者多个build.gradle文件,一个在根目录下,一个在app目录下。
如果切换到Android模式下则全部在Gradle Scripts。
如果报错 unable to find valid certification path to requested target:
换完之后重启IDE,或者在IDE里File->Invalidate Caches / Restart,之后再File->Settings里看这里有没有证书,有的话应该就好了。
<img src="Android/image-20200523001137929.png" alt="image-20200523001137929" style="zoom:50%;" />
这个方法参考自:https://www.jianshu.com/p/89ca5b635d3f
我用的gradle是:
gradle:1.5.0
https\://services.gradle.org/distributions/gradle-2.8-all.zip
通过修改res->layout->activity_main.xml来进行页面布局
可以在Design通过拖拽完成设计
也可以在Text通过代码实现。
我个人喜欢Design初步设计,然后通过Text细调设置。为了简单起见,使用绝对布局。
注意事项:
有两种方式,一种是会弹出提示的:
Intent enablelntent=new Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE);
startActivityForResult(enablelntent,1);
一种是静默模式的,这种模式需要在Androidmanifest文件中添加权限(添到开头,application前):
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
我是看极客学院的两个视频学习的,但是视频中的代码不能实现蓝牙串口模块的收发,只能发送不能接收,原因可能是因为同一个设备既做客户端又做服务端,然后线程冲突了。
事实上,蓝牙有两种使用方式,一种就是传统的BlueToothSocket,然后发送和接收放在两个单独的线程。还有一种是低功耗蓝牙专用的蓝牙透传。
Wi-Fi Direct API主要包含如下几部分。
<uses-sdk android:minSdkVersion="14"/>
<uses-permission android:name="android.permission.ACCESS_WIFL_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFL_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
https://stackoverflow.com/questions/45497266/unable-to-parse-template-class
**解决:**Go to File->setting->editor->file and code templates, select Class in the files tab and paste this:
#if ({PACKAGE_NAME} && {PACKAGE_NAME};#end #parse("File Header.java") public class
安卓四大组件
可以与用户交互的基本图形呈现单元
图片来自:https://developer.android.com/reference/android/app/Activity
(略)
封装布局和代码的组件
手机和平板电脑显示效果不同
xml布局文件中要写包括对应的java类
onCreateView是Fragment生命周期方法中最重要的一个。因为在该方法中会创建在Fragment中显示的View。
//装载布局文件
View view=inflater.inflate(R.layout.my_fragment,null);