目录

目录

1.创建Android的具体步骤

1.第一步创建项目

​2.安装JDK,一直往下操作

​3.创建虚拟机

4.编写与运行

LinearLayout

1.orientation的使用

​2.gravity的使用

3.layout_gravity的使用

4.layout_weight的知识

如何实现横竖屏切换

ListView

RecyclerView

Waiting for all target devices to come online,怎么解决


1.创建Android的具体步骤

1.第一步创建项目

2.安装JDK,一直往下操作

3.创建虚拟机

4.编写与运行

LinearLayout

常见属性:

(1)orientation布局组件的排列方式

(2)gravity控制组件所包含的子元素对齐方式

(3)layout_gravity控制该组件在父容器的对其方式

(4)background设置背景图片或颜色

(5)layout_weight权重,用来等比例的划分

1.orientation的使用

 

2.gravity的使用

(属性值有:center水平垂直居中;center_horizontal水平居中;center_vertical垂直居中;right水平右;bottom底部...)

 

3.layout_gravity的使用

 控制自己的

 

4.layout_weight的知识

layout_weight就是将剩余的容量,进行等比例的划分

如何实现横竖屏切换

首先

其次覆盖onConfigurationChanged方法

ListView

Bean

package com.example.listview;public class Bean {String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}

MainActivity

package com.example.listview;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;import java.sql.Array;
import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {
private List<Bean> data=new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);for (int i=0;i<100;i++){Bean bean=new Bean();bean.setName("user"+i);data.add(bean);}ListView listview=findViewById(R.id.lv);listview.setAdapter(new MyAdapter(data,this));listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Log.e("onclick",""+i);}
});}
}

MyAdapter

package com.example.listview;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;import androidx.recyclerview.widget.RecyclerView;import java.util.List;public class MyAdapter extends BaseAdapter {private List<Bean> data;private Context context;public MyAdapter(List<Bean> data,Context context) {this.data=data;this.context=context;}@Overridepublic int getCount() {return data.size();}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int i) {return 0;}@Overridepublic View getView(int position, View view, ViewGroup parent) {//返回item条目if(view==null) {view = LayoutInflater.from(context).inflate(R.layout.list_item, parent, false);}TextView textView=view.findViewById(R.id.tv);textView.setText(data.get(position).getName());return view;}}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent"><ListView android:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="ddd"android:height="40dp"/></LinearLayout>

RecyclerView

Bean

package com.example.recyclerview;public class Bean {String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}

MainActivity

package com.example.recyclerview;import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private List<Bean> data=new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);for (int i=0;i<100;i++){Bean bean=new Bean();bean.setName("user"+i);data.add(bean);}RecyclerView recycleView= findViewById(R.id.lv);LinearLayoutManager linearLayoutManager= new LinearLayoutManager(this);recycleView.setLayoutManager(linearLayoutManager);MyAdapter myAdapter=new MyAdapter(data,this);recycleView.setAdapter(myAdapter);myAdapter.setRecyclerItemClickListener(new MyAdapter.OnRecyclerItemClickListener(){@Overridepublic void onRecyclerItemClick(int position) {Log.e("onclick",""+position);}});}
}

MyAdapter

package com.example.recyclerview;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;import java.util.List;public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{private List<Bean> data;private Context context;public MyAdapter(List<Bean> data,Context context){this.data=data;this.context=context;}@NonNull@Overridepublic MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View view=View.inflate(context,R.layout.list_item,null);return new MyViewHolder(view);}@Overridepublic void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.tv.setText(data.get(position).getName());//将数据绑定到textview}@Overridepublic int getItemCount() {return data==null?0: data.size();}public class MyViewHolder extends RecyclerView.ViewHolder {private  TextView tv;public MyViewHolder(@NonNull View itemView) {super(itemView);tv=itemView.findViewById(R.id.tv);itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if(mOnItemClickListener!=null){mOnItemClickListener.onRecyclerItemClick(getBindingAdapterPosition());}}});}}private OnRecyclerItemClickListener mOnItemClickListener;public void setRecyclerItemClickListener(OnRecyclerItemClickListener listener){mOnItemClickListener=listener;}public interface  OnRecyclerItemClickListener{void onRecyclerItemClick(int position);}}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView>
</LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="ddd"android:height="40dp"/>
</LinearLayout>

启动虚拟器后一直出现以下的状况

Waiting for all target devices to come online,怎么解决

打开任务管理器【ctr+alt+delete】,找到详细信息中的qemu-system关键字眼,右键结束进程

重新按下绿色这个按钮,就行了

我会不定期更新内容哟,很适合像我这样的小白,之前上第一次课的时候,我都快疯了,因为一旦启动内置的虚拟机,你会发现你的电脑会像我的一样(因为我的内存是8G的,所以最好的办法就是将写的放到自己手机运行,哈哈哈哈)注意:安装SDK和模拟机都很慢,要等

移动互联网开发入门Android Studio ,适合刚学习的相关推荐

  1. 基于Android的健康医疗论坛的设计与开发(android studio)

    提示:文章为原创,仅供参考 基于Android的健康医疗论坛的设计与开发(android studio,提供源码) 提供源码:链接:https://pan.baidu.com/s/1JnbfJ67UC ...

  2. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发1

    [Android开发]Android Studio中进行简单的WebView构建浏览器开发 第一步:新建一个Android Project 第二步:修改AndroidMainfest.xml文件 第三 ...

  3. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )

    文章目录 I . FFMPEG 交叉编译后的函数库及头文件 II . FFMPEG 静态库打包动态库 ( 仅做参考 ) III . 创建 Android Studio 工程 IV . FFMPEG 头 ...

  4. 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )

    文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...

  5. 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...

  6. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

  7. android mqtt详解_Android mqtt入门 Android studio(转)

    Android mqtt入门 Android studio 2018年04月09日 14:02:30 hbw020 阅读数:1564 分享 mqtt简单使用介绍: 1.as创建工程 2.官网下载mqt ...

  8. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2

    [[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...

  9. android实现10ms定时器,本文实例讲述了Android定时器和Handler用法。分享给大家供大家参考。具体分析如下:一、环境:主机:WIN8开发环境:Android Studio...

    本文实例讲述了Android定时器和Handler用法.分享给大家供大家参考.具体分析如下: 一.环境: 主机:WIN8 开发环境:Android Studio 二.定时器使用示例: 初始化: //定 ...

最新文章

  1. python官网下载步骤手机-一招解决:各种版本的Python下载安装教程
  2. 常考数据结构与算法:合并k个已排序的链表
  3. bert中的sep_基于向量的深层语义相似文本召回?你需要BERT和Faiss
  4. 启明云端分享|大家都知道ESP32-C3是乐鑫5月刚量产的芯片,大家都传是取代ESP8266的,目前也确实有很多客户升级应用选择替换,那Esp8266与Esp32-C3 从硬件到应用开发有哪些不同呢
  5. Python 的 51 个秘密曝光,Github 获 2 万星
  6. JAVA学习:maven开发环境快速搭建How to download J2EE API (javaee.jar) from Maven
  7. Puppet基于Master/Agent模式实现LNMP平台部署
  8. SAP Fiori应用里日期格式的显示奥秘
  9. [深度学习] Pytorch中RNN/LSTM 模型小结
  10. 分页的limit_分页场景(limit,offset)为什么会慢
  11. 因DataValueField设置不当引起的DropDownList的SelectedItem的取不到所选值的问题
  12. jclasslib插件_在IDEA利用断点debug+解析class文件+jclasslib插件
  13. 硬件基础知识笔记(二极管、三极管、MOS管、运放、滤波器、跟随器、整流)
  14. PS4 5.05安装Linux系统,PS4主机刷机教程以及游戏安装教程,到5.05 4.55 4.05等系统
  15. 深蓝学院-多传感器融合定位-第3章作业
  16. 联想笔记本热键与IDEA快捷键冲突问题
  17. 二十:让行内元素在div中垂直居中
  18. SIwave仿真手册——软件基础(一)
  19. -[XXXX encodeWithCoder:]: unrecognized selector sent to instance 0x12d931d10
  20. centos 安装迅搜

热门文章

  1. 如何使用10个小时搭建出个人域名而又Geek的独立博客?
  2. 基于树莓派GPIO口和光电传感器的障碍物检测
  3. Google OAUTH + OpenID 给第三方授权
  4. oracle语句中dual什么意思,oracle中dual详解
  5. 利用动态渲染页面对京东笔记本电脑信息爬取
  6. syx278250658
  7. JMeter 进行压力测试
  8. [换根] Accumulation Degree
  9. 机械键盘 酒精大法
  10. NPN三极管和N沟道MOS管引脚定义