基于Android的图片分享软件

图片分享软件

简要功能介绍:用户可将图片分享至平台以供其他用户浏览,用户可对喜欢的图片进行点赞保存分享等操作。

思路如下:

  1. 界面设计:登录界面与注册界面,还有登录成功后的首页,发布页和主页,可以通过底部导航栏跳转到对应的界面。
  2. 对应功能的一一实现。数据可以保存在数据库中,采用到的技术是SQLite(本程序是保存到手机本地的数据库中,云端的可以自己摸索)。分享操作这里使用的是android自带的分享。
  3. 需要为该软件进行授权。主要授权文件的读写权限。

界面展示

登录界面

基于Android的图片分享软件
; 注册界面

基于Android的图片分享软件
用户注册并且登录成功的个人信息主页

(这里可以自行添加需要的功能)

基于Android的图片分享软件
; 发布图片详细信息

基于Android的图片分享软件
首页界面

基于Android的图片分享软件
; 图片详细信息以及对该图片的操作

基于Android的图片分享软件
软件的封面

基于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>
用户数据暂时保存在SharePreferences

                    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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球