【毕业设计/课程设计】基于Android的天气助手设计与实现 【超级详细】

文章目录

  • 0 项目说明
  • 1 功能
  • 2 界面
  • 3 代码
  • 4 项目源码


0 项目说明

基于Android的天气助手设计与实现

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 功能

  • 第一次打开APP引导页,缓冲加载
  • 天气信息的显示
  • 广告,推送
  • 桌面小工具
  • 新闻资讯的查看
  • 蓝牙串口传输温度

开发环境:Android studio
数据获取:易源数据SDK

  • cityInfo 城市信息
  • time 时间
  • now 现在的天气
  • f1~f6 近一星期的天气预报信息
  • alarmList 预警信息
  • hourDataList 半小时更新一次的天气信息
  • aqi 空气质量

2 界面

【毕业设计/课程设计】基于Android的天气助手设计与实现 【超级详细】_第1张图片
【毕业设计/课程设计】基于Android的天气助手设计与实现 【超级详细】_第2张图片
【毕业设计/课程设计】基于Android的天气助手设计与实现 【超级详细】_第3张图片
【毕业设计/课程设计】基于Android的天气助手设计与实现 【超级详细】_第4张图片

3 代码

广告推送

//广告条初始化
        View bannerView = BannerManager.getInstance(WeatherActivity.this)
                .getBannerView(WeatherActivity.this, new BannerViewListener() {
                    @Override
                    public void onRequestSuccess() {}
                    @Override
                    public void onSwitchBanner() {}
                    @Override
                    public void onRequestFailed() {}
                });
        // 获取要嵌入广告条的布局
        LinearLayout bannerLayout = (LinearLayout) findViewById(R.id.ll_banner);
        // 将广告条加入到布局中
        bannerLayout.addView(bannerView);

界面

 /**
     * 获取手机屏幕高度
     *
     * @param context
     * @return
     */
    public static int getDisplayHeight(Context context) {
        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics dm = new DisplayMetrics();
        // 获取屏幕信息
        wm.getDefaultDisplay().getMetrics(dm);
        return dm.heightPixels;
    }

    /**
     * 获取手机屏幕宽度
     *
     * @param context
     * @return
     */
    public static int getDisplayWidth(Context context) {
        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics dm = new DisplayMetrics();
        // 获取屏幕信息
        wm.getDefaultDisplay().getMetrics(dm);
        return dm.widthPixels;
    }

    /**
     * 反射方法获取状态栏高度
     *
     * @param context
     * @return
     */
    public static int getStatusBarHeight(Context context) {
        int statusBarHeight = 20;
        try {
            Class<?> _class = Class.forName("com.android.internal.R$dimen");
            Object object = _class.newInstance();
            Field field = _class.getField("status_bar_height");
            int restult = Integer.parseInt(field.get(object).toString());
            statusBarHeight = context.getResources().getDimensionPixelSize(
                    restult);
        } catch (Exception e) {
            e.printStackTrace();
        }
        // Toast.makeText(getActivity(), "StatusBarHeight = " + statusBarHeight,
        // Toast.LENGTH_SHORT).show();
        return statusBarHeight;
    }

    /**
     * 获取?attr/actionBarSize高度
     *
     * @param context
     * @return
     */
    public static int getActionBarSize(Context context) {
        TypedValue typedValue = new TypedValue();
        context.getTheme().resolveAttribute(R.attr.actionBarSize, typedValue, true);
        int actionBarHeight = TypedValue.complexToDimensionPixelSize(typedValue.data, context.getResources().getDisplayMetrics());
        return actionBarHeight;
    }
        // mNowWeatherHeight高度=屏幕高度-标题栏高度-状态栏高度
        mNowWeatherHeight = SystemUtils.getDisplayHeight(mContext) - SystemUtils.getActionBarSize(mContext) - SystemUtils.getStatusBarHeight(mContext);

4 项目源码

你可能感兴趣的:(毕业设计,课程设计,android,java,android,studio)