20160721最近三天安卓开发遇到的问题

这三天完成的工作:

1.修改主界面的LinearLayout布局,使之满足基本需求。

解决了一个DeadObject.exception的问题

是因为硬件加速引起的。

设置android:hardwareAccelerated="false"以后,交换LinearLayout以后app就不会崩溃了。


2.自定义了一个button,在button左边加了一个图片。

要修改的地方有两部分

第一个部分是xml,我写了一个线性布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/imgview"
        android:layout_width="40dp"
        android:layout_height="30dp"
        android:layout_centerInParent="true"
        android:scaleType="fitXY"
        android:src="@drawable/plus" >
    </ImageView> 


    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:text="点此拍摄更多"
        android:textSize="15sp" >
    </TextView>


</LinearLayout>

第二部分是自定义的java类

package com.example.selfDesignedUI;


import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import ro.neghina.android.imageFiltering.R;


public class ButtonChoose extends LinearLayout {
    
    private ImageView imgView;  
    private TextView  textView;


    public ButtonChoose(Context context) {
        super(context,null);
    }
    
    public ButtonChoose(Context context,AttributeSet attributeSet) {
        super(context, attributeSet);
        
        LayoutInflater.from(context).inflate(R.layout.button_choose, this,true);
        
        this.imgView = (ImageView)findViewById(R.id.imgview);
        this.textView = (TextView)findViewById(R.id.textview);
        
        this.setClickable(true);
        this.setFocusable(true);
    }
    
    public void setImgResource(int resourceID) {
        this.imgView.setImageResource(resourceID);
    }
    
    public void setText(String text) {
        this.textView.setText(text);
    }
    
    public void setTextColor(int color) {
        this.textView.setTextColor(color);
    }
    
    public void setTextSize(float size) {
        this.textView.setTextSize(size);
    }
    
}

3.修改button的样式,在修改过程中出现了白色背景蓝色边框的边框不完整现象,参考了多个布局文件后,总算是完成了。

主要是填充颜色和线的宽度

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"   
    android:shape="rectangle">  
    <!-- 填充颜色 -->  
    <solid android:color="@color/white"></solid>  
    <!-- 线的宽度,颜色灰色 -->  
    <stroke android:width="1dp" android:color="@color/light_blue"></stroke>          
    <!-- 矩形的圆角半径 -->  
    <corners android:radius="5dp" />         
</shape>  


4. 如何将图片设置为固定的大小:

        android:layout_width="40dp"
        android:layout_height="30dp"
        android:scaleType="fitXY"


5.popupMenu

    如何设置一个popupMenu,先在button上设置弹出一个popupMenu,再设置popupMenu的内容。

btn_tp = (Button) findViewById(R.id.tp_button);
btn_tp.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
showPopupMenu(btn_tp);
}
});

private void showPopupMenu(View view) {


final PopupMenu popupMenu = new PopupMenu(this, view);


popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());


popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_takephoto:
imgUri = capture.dispatchTakePictureIntent(CapturePhoto.SHOT_IMAGE, targetID);
break;
case R.id.action_select:
capture.dispatchTakePictureIntent(CapturePhoto.PICK_IMAGE, targetID);
// imgUri = MainActivity.pickPhoto(targetID, projectName,
// TakephotoActivity.this);
break;
case R.id.action_del:
popupMenu.dismiss();
break;
}
return true;
}
});


6.安卓间共享数据的四种方式

1).基于消息的通信机制  Intent ---bundle ,extra

数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用

bundle和intent.putExtra其实原理是一样的,

intent.putExtra其实是用intent里自带的bundle,如果自己设置了一个新的bundle则用新的bundle代替。


2). 利用static静态数据,public static成员变量;


3).基于外部存储的传输,  File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider


4).基于IPC的通信机制context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件。


5). 基于Application Context

首先在AndroidManifest中添加

<application
        android:name=".ApplicationTrans"//必须设置>
</application>
然后声明一个类继承Application,这样在全局都可以获取这个类中的数据。

import android.app.Application;

public class ApplicationTrans extends Application {
    private String value;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

}

((ApplicationTrans) getApplication()).getValue();

7.bitmap在Activity之间的传递

发送端:

//先设置ImageView中的setDrawingCacehEnabled(true),这样就可以获取ImageView中的图片

btn_License0.getImageView().setDrawingCacheEnabled(true);

//再将ImageView中的图片保存成一个bitmap
bmp = Bitmap.createBitmap(btn_License0.getImageView().getDrawingCache());

//清除ImageView缓存中的图片,防止下次获取时还是相同的图片
btn_License0.getImageView().setDrawingCacheEnabled(false);

//用一个字节数组保存bitmap
baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
bitmapByte = baos.toByteArray();

//将字节数组加入intent中

intent.putExtra("bitmap", bitmapByte);

接收端:

//将字节数组转换成图片

byte[] bis = intent.getByteArrayExtra("bitmap");
Bitmap bitmap = BitmapFactory.decodeByteArray(bis, 0, bis.length);
img.setImageBitmap(bitmap);

标题基于Python的汽车之家网站舆情分析系统研究AI更换标题第1章引言阐述汽车之家网站舆情分析的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义说明汽车之家网站舆情分析对汽车行业及消费者的重要性。1.2国内外研究现状概述国内外在汽车舆情分析领域的研究进展与成果。1.3论文方法及创新点介绍本文采用的研究方法及相较于前人的创新之处。第2章相关理论总结和评述舆情分析、Python编程及网络爬虫相关理论。2.1舆情分析理论阐述舆情分析的基本概念、流程及关键技术。2.2Python编程基础介绍Python语言特点及其在数据分析中的应用。2.3网络爬虫技术说明网络爬虫的原理及在舆情数据收集中的应用。第3章系统设计详细描述基于Python的汽车之家网站舆情分析系统的设计方案。3.1系统架构设计给出系统的整体架构,包括数据收集、处理、分析及展示模块。3.2数据收集模块设计介绍如何利用网络爬虫技术收集汽车之家网站的舆情数据。3.3数据处理与分析模块设计阐述数据处理流程及舆情分析算法的选择与实现。第4章系统实现与测试介绍系统的实现过程及测试方法,确保系统稳定可靠。4.1系统实现环境列出系统实现所需的软件、硬件环境及开发工具。4.2系统实现过程详细描述系统各模块的实现步骤及代码实现细节。4.3系统测试方法介绍系统测试的方法、测试用例及测试结果分析。第5章研究结果与分析呈现系统运行结果,分析舆情数据,提出见解。5.1舆情数据可视化展示通过图表等形式展示舆情数据的分布、趋势等特征。5.2舆情分析结果解读对舆情分析结果进行解读,提出对汽车行业的见解。5.3对比方法分析将本系统与其他舆情分析系统进行对比,分析优劣。第6章结论与展望总结研究成果,提出未来研究方向。6.1研究结论概括本文的主要研究成果及对汽车之家网站舆情分析的贡献。6.2展望指出系统存在的不足及未来改进方向,展望舆情
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值