图片分享软件
简要功能介绍:用户可将图片分享至平台以供其他用户浏览,用户可对喜欢的图片进行点赞保存分享等操作。
思路如下:
- 界面设计:登录界面与注册界面,还有登录成功后的首页,发布页和主页,可以通过底部导航栏跳转到对应的界面。
- 对应功能的一一实现。数据可以保存在数据库中,采用到的技术是SQLite(本程序是保存到手机本地的数据库中,云端的可以自己摸索)。分享操作这里使用的是android自带的分享。
- 需要为该软件进行授权。主要授权文件的读写权限。
界面展示
登录界面
; 注册界面
用户注册并且登录成功的个人信息主页
(这里可以自行添加需要的功能)
; 发布图片详细信息
首页界面
; 图片详细信息以及对该图片的操作
软件的封面
; 关键代码
AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">
<!-- 获取创建、删除文件 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" tools:ignore="ProtectedPermissions">
</uses-permission></uses-permission></uses-permission>
String spFileName = getResources()
.getString(R.string.shared_preferences_file_name);
String accountKey = getResources()
.getString(R.string.login_account_name);
String passwordKey = getResources()
.getString(R.string.login_password);
SharedPreferences spFile = getSharedPreferences(
spFileName,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = spFile.edit();
editor.putString(accountKey, userName);
editor.putString(passwordKey, passWord);
editor.apply();
向数据库中插入用户信息
SQLiteDatabase db= userdb.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("id",username);
values.put("password",password1);
values.put("touxiang",image);
db.insert("users",null,values);
db.close();
return true;
获取系统图片信息
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
Uri selectedImage = data.getData();
String[] filePathColumns = {MediaStore.Images.Media.DATA};
Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String imagePath = c.getString(columnIndex);
showImage(imagePath);
c.close();
}
}
private void showImage(String imagePath) {
bm = BitmapFactory.decodeFile(imagePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
image = baos.toByteArray();
chooseImage.setImageBitmap(bm);
}
源码地址:
https://github.com/nonthen/SharePictures
Original: https://blog.csdn.net/zsxbd/article/details/120126931
Author: zsxbd
Title: 基于Android的图片分享软件
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816494/
转载文章受原作者版权保护。转载请注明原作者出处!