仿Flyme天气(2)

前面已经大概分析完,资源也差不多确定了。现在,开始写项目。

名字就叫做Weather吧。

仿Flyme天气(2)

我们先去找一个logo,在阿里的图标库 Iconfont .

输入天气关键字,找到了这么个图标

仿Flyme天气(2)下载

主要是跟我现在手机主题里的天气差不多。那么就用这个了。(不会PS,只会到处淘 )

点击下载PNG,但是尺寸没有我们想要的,怎么办。APP启动图标尺寸

最近我找到一个新办法,那就是从SVG入手。

首先下载SVG格式到桌面

仿Flyme天气(2)

然后用记事本打开它,找到一个width 和 height ,把这两个改成需要的图标尺寸后保存。

仿Flyme天气(2)

然后百度 SVG转PNG,得到这个转换网址

将SVG文件拖到里面,下载就能得到我们想要的LOGO了。

将得到的LOGO复制到我们的项目里。

仿Flyme天气(2)

manifest里替换掉

仿Flyme天气(2)

OK,可以了。

仿Flyme天气(2)

这两个图标是不是很合适呢。

下面开始导一些基础的,我自己写的一个UI框架,虽然不咋地,但是自己用还是可以的。使用方法

然后还有定位,我自己也小小的封装了一个。使用方法

然后现在要去百度地图搞事情了。

仿Flyme天气(2)

这里先说这个SHA1怎么获取的:

JKS签名文件一个,进入C盘\用户\Administrator\.android,在这个目录空白地方,按住Shift键和鼠标右键,点击“在此处打开命令窗口”,进入cmd命令窗口界面。输入命令 keytool -list -v -keystore D:\GitProject\Weather\app\weather.jks  后面的是你的签名目录,输入密码,就可以得到了。

好了,进行下一步。

将得到的AK放到manifest里。

仿Flyme天气(2)

然后再build里添加

仿Flyme天气(2)

接下来,就是测试定位是否成功了。

权限肯定是要先申请的

private void requestPermission() {
        final RxPermissions permissions = new RxPermissions(this);
        permissions
                .request(Manifest.permission.WRITE_EXTERNAL_STORAGE,
                        Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.READ_PHONE_STATE,
                        Manifest.permission.ACCESS_FINE_LOCATION)
                .subscribe(new Observer<Boolean>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(Boolean aBoolean) {
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {
                        requestLocation();
                    }
                });
    }

权限拿到后,开始定位

  private void requestLocation() {
        TheLocation.getInstance().init(this, new LocationListener() {
            @Override
            public void onSuccess(BDLocation bdLocation) {
                QMUIDialogUtil.showSimpleDialog(MainActivity.this,"定位成功",bdLocation.getDistrict());
            }

            @Override
            public void onFail() {
                QMUIDialogUtil.FailTipsDialog(MainActivity.this,"定位失败");
            }
        });
    }

运行

仿Flyme天气(2)

申请权限

仿Flyme天气(2)

完美,定位成功了。

上面用的是

bdLocation.getDistrict()

这个获取到的是区、县名称。以这个获取天气会更好。

 

好了,今天就先写到这里。明天开始写UI吧。