嘿,今天的你过的还好吗
突发奇想昂,我记得之前写过一个小说的阅读器,仿制的QQ阅读...但是过于久远,很多东西都是网上趴出来的....属于自己的东西很少...那从今天开始,我就自己写一个小说阅读器,每个步骤,我都在简书上写出来.包括思路啊什么之类的...本来想用Kt写的...我怕我写一半呢.kt用烦了...断更了.所以java...MVVM不用说了...必用.也方便我调取东西.网络层 retorfit+rxjava...版本管理Git(没初步完成之前.我可能不会放出来...)至于app名字...没太想好...反正先做吧.那天想好了再说...不是很重要...整个流程我会努力按照标准来进行.命名啊.规范啊之类的...当然,我努力...
啊对!因为整个流程app都得我自己来想昂.进度慢也是正常,毕竟本人也有班要上,后台接口数据库也都得自己上...很多东西也是需要学习来找...当然.也欢迎有兴趣小伙伴私信加入昂...不为别的.就为了喜爱...我初步安排是这样...先画界面,感觉差不多了再去找后台...没有美工昂...好不好看就凭感觉.或者说谁介绍一个我也不是不行
那么第一天,先实现一个引导页,先说思路昂...
害.闪屏页.国家整改.不放广告不就完了....
1.铺满全屏的一个图片或者动图/实在丑加个滑动也不是不可.可以慢慢调
2.右上角加一个圆钮倒计时跳过吧.在整个边框渐变.完美
3.自己给自己打广告应该不违规.所以我打算加个点击事件,跳转一下自己的书城啥的.至于书得去找人谈...那等以后再说
4.文案复制,我打算在首页加一段话.点击复制,算是每天一句毒鸡汤
首先架构啥的就略过了,,,没个人风格都不同...我直接给大家看一下得了
今天主要就是Splash功能实现
import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.os.CountDownTimer;
import android.view.View;
import com.blankj.utilcode.util.ToastUtils;
import com.xql.book.MainActivity;
import com.xql.book.R;
import com.xql.book.basic.BaseActivity;
import com.xql.book.bean.SplashBean;
import com.xql.book.databinding.ActivitySplashBinding;
import com.xql.book.txt.Phrase;
import com.xql.book.vm.SplashVM;
public class SplashActivity extends BaseActivity<ActivitySplashBinding, SplashVM> {
//SplashBean实例化
private final SplashBean splashBean = new SplashBean();
//闪屏页短语
private final Phrase phrase = new Phrase();
//是否点击跳过
private Boolean isSkip = false;
@Override
protected int layoutId() {
return R.layout.activity_splash;
}
@Override
protected void initData() {
//点击事件
mBinding.setOnClickLister(SplashActivity.this);
//获取短语
splashBean.setPhrase(phrase.PhraseText());
//总时间
int TOTAL_TIME = 3000;
//间隔时间
int INTERVAL_TIME = 1000;
//闪屏页倒计时
TimeCount time = new TimeCount(TOTAL_TIME, INTERVAL_TIME);
time.start();
}
/**
* 点击事件
*
* @param view
*/
@SuppressLint("NonConstantResourceId")
public void OnSingleClickListener(View view) {
switch (view.getId()) {
case R.id.tv_countDown:
isSkip = true;
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
break;
case R.id.tv_phrase:
getPhraseText((String) mBinding.tvPhrase.getText());
ToastUtils.showLong("复制成功");
break;
}
}
/**
* 倒计时方法封装
*/
class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long l) {
splashBean.setCountDown("跳过(" + l / 1000 + ")");
mBinding.setSplash(splashBean);
}
@Override
public void onFinish() {
if (!isSkip){
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}
}
/**
* 剪切板管理器
*/
public void getPhraseText(String phrasetext){
//获取剪贴板管理器
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
//创建普通字符型clipdata
ClipData mClipData = ClipData.newPlainText("phrase",phrasetext);
cm.setPrimaryClip(mClipData);
}
}
好了,今天就先这样...然后给今天成果贴出来
.......昨晚又改了点其他东西,加了个每天只第一次时候显示引导页
//判断是否写入istoday
String istoday = SPUtils.getInstance().getString("istoday");
if (!istoday.equals("")) {
//判断是否今天
boolean today = TimeUtils.isToday(istoday);
if (today) {
LogUtils.e("是");
isSkip = true;
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
} else {
LogUtils.e("不是");
String nowString = TimeUtils.getNowString();
SPUtils.getInstance().put("istoday", nowString);
}
} else {
String nowString = TimeUtils.getNowString();
SPUtils.getInstance().put("istoday", nowString);
}