package com.userms.ui;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Telephony;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.userms.R;
import com.userms.adapter.UserAdapter;
import com.userms.model.UserBean;
import com.userms.utils.DbManager;
import com.userms.utils.CacheUtil;
import com.userms.utils.Utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 主页面
*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
DbManager dbManager;
RecyclerView listUser;
UserAdapter userAdapter;
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.activity_main);
findViewById(R.id.btn_add).setOnClickListener(this);
findViewById(R.id.btn_delete).setOnClickListener(this);
findViewById(R.id.btn_groupsend).setOnClickListener(this);
findViewById(R.id.btn_clear).setOnClickListener(this);
listUser = findViewById(R.id.list_user);
listUser.setLayoutManager(new LinearLayoutManager(this));
dbManager = new DbManager(this);
boolean init = CacheUtil.isInit(this);
//如果是第一次初始化 添加用户数据
if (!init) {
ArrayList<UserBean> users = CacheUtil.makeUsers();
for (UserBean user : users) {
dbManager.addUser(user);
}
CacheUtil.setInit(this, true);
}
List<UserBean> users = dbManager.getUserList();
userAdapter = new UserAdapter(this, users);
listUser.setAdapter(userAdapter);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_add:
Intent intent = new Intent(this, AddActivity.class);
startActivityForResult(intent, 0);
break;
case R.id.btn_delete:
List<UserBean> selectUser = userAdapter.getSelectUser();
for (int i = 0; i < selectUser.size(); i++) {
dbManager.deleteUser(selectUser.get(i));
}
List<UserBean> userList2 = dbManager.getUserList();
userAdapter = new UserAdapter(this, userList2);
listUser.setAdapter(userAdapter);
Utils.toastShort(mContext, "删除成功!");
break;
case R.id.btn_groupsend:
List<UserBean> selectUser3 = userAdapter.getSelectUser();
if (selectUser3 == null || selectUser3.isEmpty()) {
Utils.toastShort(mContext, "请先选择用户!");
} else {
List<String> phoneList = new ArrayList<>();
for (int i = 0; i < selectUser3.size(); i++) {
phoneList.add(selectUser3.get(i).getPhone());
}
if (phoneList.size() > 0) {
sendSms(this, "", phoneList);
}
}
break;
case R.id.btn_clear:
userAdapter.initUser();
break;
}
}
/**
* 发短信
*
* @param context
* @param text
* @param numbers
*/
public void sendSms(Context context, String text, List<String> numbers) {
String numbersStr = "";
String symbol = "Samsung".equalsIgnoreCase(Build.MANUFACTURER) ? "," : ";";
if (numbers != null && !numbers.isEmpty()) {
numbersStr = TextUtils.join(symbol, numbers);
}
Uri uri = Uri.parse("smsto:" + numbersStr);
Intent intent = new Intent();
intent.setData(uri);
intent.putExtra("sms_body", text);
intent.setAction(Intent.ACTION_SENDTO);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context);
if (defaultSmsPackageName != null) {
intent.setPackage(defaultSmsPackageName);
}
}
if (!(context instanceof AppCompatActivity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
try {
context.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
Utils.toastShort(mContext, e.getMessage());
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
List<UserBean> userList = dbManager.getUserList();
userAdapter = new UserAdapter(this, userList);
listUser.setAdapter(userAdapter);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
移动平台应用开发(源码、安装包、文档)
共121个文件
xml:50个
bin:17个
png:11个
需积分: 44 11 下载量 37 浏览量
2021-03-05
16:09:51
上传
评论 1
收藏 2.99MB ZIP 举报
温馨提示
设计一个应用程序,工程名为userMS,实现读取数据库中的用户的功能。增删改查,多选群发短信功能。内附源码、安装包、文档,android studio打开即可运行
资源详情
资源评论
资源推荐
收起资源包目录
移动平台应用开发(源码、安装包、文档) (121个子文件)
app-debug.apk 2MB
gradlew.bat 2KB
executionHistory.bin 1.05MB
classAnalysis.bin 942KB
classAnalysis.bin 914KB
executionHistory.bin 498KB
sha1-checksums.bin 232KB
jarAnalysis.bin 218KB
fileHashes.bin 134KB
jarAnalysis.bin 95KB
outputFiles.bin 86KB
fileHashes.bin 41KB
md5-checksums.bin 35KB
taskHistory.bin 32KB
taskHistory.bin 25KB
resourceHashesCache.bin 19KB
resourceHashesCache.bin 18KB
last-build.bin 1B
last-build.bin 1B
项目开发文档.docx 414KB
移动平台应用开发.docx 166KB
.gitignore 175B
.gitignore 50B
.gitignore 7B
build.gradle 1KB
build.gradle 453B
settings.gradle 14B
gradlew 5KB
userMS.app.iml 6KB
userMS.iml 1004B
gradle-wrapper.jar 53KB
MainActivity.java 5KB
CacheUtil.java 3KB
UserAdapter.java 3KB
DbManager.java 2KB
AddActivity.java 1KB
DatabaseHelper.java 1020B
UserBean.java 749B
Utils.java 402B
output.json 234B
checksums.lock 17B
javaCompile.lock 17B
buildOutputCleanup.lock 17B
fileHashes.lock 17B
executionHistory.lock 17B
fileHashes.lock 17B
fileContent.lock 17B
javaCompile.lock 17B
executionHistory.lock 17B
fileContent.lock 17B
ic_launcher_round.png 15KB
ic_launcher_round.png 10KB
ic_launcher.png 9KB
ic_launcher_round.png 7KB
ic_launcher.png 6KB
ic_launcher_round.png 5KB
ic_launcher.png 4KB
ic_launcher.png 3KB
ic_launcher_round.png 3KB
ic_launcher.png 2KB
select.png 536B
local.properties 338B
gradle-wrapper.properties 232B
gradle.properties 85B
cache.properties 51B
gc.properties 0B
gc.properties 0B
gc.properties 0B
gc.properties 0B
gc.properties 0B
build_file_checksums.ser 537B
workspace.xml 17KB
ic_launcher_background.xml 5KB
activity_add.xml 3KB
activity_main.xml 3KB
Project.xml 3KB
jarRepositories.xml 2KB
ic_launcher_foreground.xml 2KB
item_user.xml 2KB
Project_Default.xml 1KB
AndroidManifest.xml 1KB
Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml 920B
Gradle__com_android_support_animated_vector_drawable_26_1_0_aar.xml 898B
Gradle__com_android_support_support_vector_drawable_26_1_0_aar.xml 892B
Gradle__com_android_support_support_media_compat_26_1_0_aar.xml 874B
Gradle__com_android_support_support_core_utils_26_1_0_aar.xml 862B
gradle.xml 859B
Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml 854B
Gradle__com_android_support_support_fragment_26_1_0_aar.xml 850B
Gradle__com_android_support_recyclerview_v7_26_1_0_aar.xml 844B
Gradle__com_android_support_support_core_ui_26_1_0_aar.xml 844B
Gradle__com_android_support_support_compat_26_1_0_aar.xml 838B
Gradle__com_android_support_support_annotations_26_1_0.xml 830B
Gradle__com_android_support_appcompat_v7_26_1_0_aar.xml 826B
Gradle__com_android_support_support_v4_26_1_0_aar.xml 814B
Gradle__com_android_support_test_monitor_1_0_2_aar.xml 800B
Gradle__android_arch_lifecycle_runtime_1_0_0_aar.xml 796B
Gradle__com_android_support_test_runner_1_0_2_aar.xml 794B
Gradle__org_hamcrest_hamcrest_integration_1_3.xml 789B
Gradle__org_hamcrest_hamcrest_library_1_3.xml 760B
共 121 条
- 1
- 2
风中造舟
- 粉丝: 4
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0