记录开发一款安卓便签的过程

ps:初识安卓是在很久三年前高中第一次拥有了一部天语的ktouch2,然后开始了解root,刷机等等。直到今天进入大学选择了这个专业。因为之前给老师写过一个设备管理的app,发现自己有很多的不足。因此开博客记录自己重新学习安卓的过程。目前还是小白,之前写的应用都是本地端的。所以重新学习,包括编程规范以及包的分类等。记录自己所遇到的问题,希望有大神可以指正。

开发原因

希望慢慢的学习改善自己把东西吃透,所以我选择的第一个项目是便签。

app所实现功能

首先是简洁,进入的主页是瀑布流显示已经写好的便签,需要修改可以点击进入编辑页面,在初始界面左下角添加FloatButton按钮可以新建便签。初始界面可以右滑加载侧滑栏。侧滑栏实现对主页背景的自定义,实现查看版本,因为暂时没有服务器所以暂时不弄同步云端的功能。

进入编辑界面后实现退出界面即保存的功能,无需用户手动保存。暂时不考虑添加图片,修改字体大小以及加粗,横线以及语音片段的功能,将会在日后进行实现。

#######################################################################################

经过一段时间的努力

 

       

做app的思路,首先修改了Manifest里面的theme设置为自己预设的theme,其属性在value文件的style里把parent 属性设为noactionbar,方便为接下来使用toolbar做铺垫.

加载主布局时用了NavigationView 混合DrawerLayout实现侧滑栏,目前侧滑栏头部准备采用xml的形式做成渐变色。

在做侧滑栏点击事件时,点back返回发现onbackpressed()和onkeyup()或者onkeydown()冲突,后来

@Override
public void onBackPressed() {

    if (dl_main.isDrawerOpen(GravityCompat.START))

    {
        dl_main.closeDrawer(GravityCompat.START);
    } else

    {
        long backPressSecond = System.currentTimeMillis();
        if (backPressSecond - backPressFirsttime > 2000) {
            Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show();
            backPressFirsttime = backPressSecond;

        } else {
            finish();
        }
    }

}

解决了。

设计主界面FloatingActionButton的时候,原本预计的想法是可拖动且可点击,但是发现Ontouch和onkeydown事件冲突,很难受,有大佬可以指点一点吗?emmmmm,所以只用 了点击进入的方法。

日期的话觉得采用获取系统时间,每次点进去更新的方法解决。将文本以及时间提交到数据库并创建id为key可自增长的方式创建数据库,从数据库再取值到主界面显示.删除的方式采用长按跳dialog的方式删除,因为考虑用户的使用,所以会在第一次使用的时候增加引导。暂时先这样吧。明日继续。有什么不足或者经验希望有大佬可以提出。感激不尽。

 


2018.10.22日更新:

今天更新了一下界面,稍微美化了。同时添加主题功能。可以让用户选择主题但是没有美化,

加入了Litepal方便数据库存储。

    

数据可以会直接从编辑页面点击选中按钮保存但是无法在主页面刷新,需要用户手动退出刷新,打算采用onrestart里添加刷新的方法,明天解决。同时在用LitePal时将其配置在外部内存时,申请权限会导致闪退,但是第二次打开一切都可以正常运行,为了不耽误时间,我将litepal的储存空间放在默认的内置以至于不需要权限,但是记录这个问题日后再解决。明天主要的方向就是写刷新界面的方法,实现主题的更新并将反馈和关于界面初步实现,预计后天美化完成。然后慢慢调整优化结构和增加功能。目前整个交互都不行,用户使用互动性并不好。


2018.10.23日更新

    今天课程比较多,一直上到晚上,不过反馈和关于界面做好了,反馈界面采用qq临时聊天的方法实现直接反馈,关于界面就稍微设计了一下,很丑的样子,233333.比较可惜也是耽误时间最多的一项就是界面更新那里了,可以更新,但是更新会在原有的基础上继续重新生成,很尴尬。所以决定明天好好研究一下关于RecyclerViewAdapter。基本功能都实现了,就差一些补漏了。有意思的是,我将更新的方法写在onCreate中,而将别的写在onpause中。调用该方法的时候界面会在上方刷新一片空白,三次以后整个界面无内容也没有文字而且也没报错。所以还是将初始化方法都加在了onpause方法内部。

  

ps:之所以pull图的原因是想在最后成品做个对比记录一下历程


ps: 2018年10月27日

终于又一次更新了,这次更新解决了重复刷新的问题,界面基本完善。以后应该会进行修补,不过主要适用于练手,所以可能暂停一段落开新坑,进入学习模式。

         

整体偏简约风,一如名字小小,大概结果就是这样吧。

 

 

阅读更多
换一批

没有更多推荐了,返回首页