仿Flyme天气(2)

3 篇文章 0 订阅
3 篇文章 0 订阅

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

名字就叫做Weather吧。

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

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

下载

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

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

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

首先下载SVG格式到桌面

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

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

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

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

manifest里替换掉

OK,可以了。

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

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

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

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

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

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

好了,进行下一步。

将得到的AK放到manifest里。

然后再build里添加

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

权限肯定是要先申请的

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,"定位失败");
            }
        });
    }

运行

申请权限

完美,定位成功了。

上面用的是

bdLocation.getDistrict()

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值