当前位置:  编程技术>移动开发
本页文章导读:
    ▪用TextView展示带图片的效果及为文本添加链接        用TextView显示带图片的效果及为文本添加链接 为了实现在TextView中显示图片,有时对图片的宽度与高度有限制的话,可以对实现进行放大与缩小操作!   main.xml <?xml version="1.0" encoding="u.........
    ▪ andriod 优秀稿件        andriod 优秀文章    andriod 优秀文章 http://helloandroid.iteye.com/   ......
    ▪ oracle 表约束的平添、修改以及约束的禁用启用(转)       oracle 表约束的添加、修改以及约束的禁用启用(转)   --禁用所有外键约束的Sql代码select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'--启用所有.........

[1]用TextView展示带图片的效果及为文本添加链接
    来源: 互联网  发布时间: 2014-02-18
用TextView显示带图片的效果及为文本添加链接

为了实现在TextView中显示图片,有时对图片的宽度与高度有限制的话,可以对实现进行放大与缩小操作!

 

main.xml

    <?xml version="1.0" encoding="utf-8"?>  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:orientation="vertical"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        >  
    <TextView    
        android:layout_width="fill_parent"   
        android:layout_height="wrap_content"   
        android:text="@string/hello"  
        />  
    <TextView android:text="TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
    <TextView android:text="TextView02" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
    </LinearLayout>  
 

GridView.java(http://www.my400800.cn )

    package a.gridview;  
      
    import android.app.Activity;  
    import android.graphics.Bitmap;  
    import android.graphics.Canvas;  
    import android.graphics.Matrix;  
    import android.graphics.PixelFormat;  
    import android.graphics.Rect;  
    import android.graphics.drawable.BitmapDrawable;  
    import android.graphics.drawable.Drawable;  
    import android.os.Bundle;  
    import android.widget.TextView;  
      
    public class GridView extends Activity {  
              
            private TextView text;  
            private TextView text1;  
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
            text = (TextView) findViewById(R.id.TextView01);  
            Drawable draw = this.getResources().getDrawable(R.drawable.srvmng);     
            text.setCompoundDrawablesWithIntrinsicBounds(null, draw, null,null);  
            text.setText("应用");  
              
            text1 = (TextView) findViewById(R.id.TextView02);  
            Drawable draw1 = this.getResources().getDrawable(R.drawable.srvmng);    
            int w = draw1.getIntrinsicWidth();  
            int h = draw1.getIntrinsicHeight();  
            Rect rect = draw1.getBounds();  
            text1.setCompoundDrawablesWithIntrinsicBounds(null, zoomDrawable(draw1,32,32), null,null);  
            text1.setText("设置");  
        }  
          
        static Drawable zoomDrawable(Drawable drawable, int w, int h)  
        {  
                  int width = drawable.getIntrinsicWidth();  
                  int height= drawable.getIntrinsicHeight();  
                  Bitmap oldbmp = drawableToBitmap(drawable); // drawable转换成bitmap  
                  Matrix matrix = new Matrix();   // 创建操作图片用的Matrix对象  
                  float scaleWidth = ((float)w / width);   // 计算缩放比例  
                  float scaleHeight = ((float)h / height);  
                  matrix.postScale(scaleWidth, scaleHeight);         // 设置缩放比例  
                  Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true);       // 建立新的bitmap,其内容是对原bitmap的缩放后的图  
                  return new BitmapDrawable(newbmp);       // 把bitmap转换成drawable并返回  
        }  
      
        static Bitmap drawableToBitmap(Drawable drawable) // drawable 转换成bitmap  
        {  
                  int width = drawable.getIntrinsicWidth();   // 取drawable的长宽  
                  int height = drawable.getIntrinsicHeight();  
                  Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565;         // 取drawable的颜色格式  
                  Bitmap bitmap = Bitmap.createBitmap(width, height, config);     // 建立对应bitmap  
                  Canvas canvas = new Canvas(bitmap);         // 建立对应bitmap的画布  
                  drawable.setBounds(0, 0, width, height);  
                  drawable.draw(canvas);      // 把drawable内容画到画布中  
                  return bitmap;  
        }  
      
    }  
 

显示效果:


 

 

 


给 TextView里面的内容添加链接

 

 

 

之前使用Java开发桌面应用的时候,在JTextPane中添加超链接并且设置监听是个很麻烦的事情,最终我也没找到一个很好的方法。用来开发android就爽了,API封装的不错,添加个超链接变的非常简单。

首先,在TextView所属xml配置文件中,直接添加android:autoLink特性即可,它支持一个或多个(用分割)自定义的值:none、web、email、phone或all。

另外,你还可以用Linkify来添加超链接,下面介绍一下这个类:

Linkify是一个辅助类,通过RegEx样式匹配,自动地在TextView类(和继承的类)中创建超链接。

符合特定的RegEx样式的文本会被转变成可点击的超链接,这些超链接隐式地调用startActivity(new Intent(Intent.ACTION_VIEW, uri)),符合的文本会作为目标URI。

你可以指定任意的字符串样式为链接;方便地,Linkify类提供了预置的通用内容类型(如电话号码和e-mail、web地址)。

Linkify.addLinks静态方法接受一个View来制作链接,还包括一个或多个支持的默认内容类型的位结果。Linkify类提供了一些内容类型:WEB_URLS、EMAIL_ADDRESSES、PHONE_NUMBERS和ALL.

接下来的代码片段显示如何为TextView制作链接显示web和e-mail地址为超链接。当点击时,它们会相应地打开浏览器或e-mail应用程序。

  • TextView textView = (TextView)findViewById(R.id.myTextView);
  • Linkify.addLinks(textView, Linkify.WEB_URLSLinkify.EMAIL_ADDRESSES);

可是有时候我们需要自定义一些超链接,像新浪微博中的@和#,这时候怎么办呢?

为 了定义自己的链接字符串,你需要创建一个RegEx样式来匹配文本,进而显示成超链接。和本地类型一样,通过调用Linkify.addLinks来指定 目标View,但这次,传入的是的RegEx样式。你还可以传入一个前缀,当链接点击时,它会添加到目标URI上。例如:

  • int flags = Pattern.CASE_INSENSITIVE;
  • Pattern p = Pattern.compile(“\\bquake[-9]*\\b”, flags);
  • Linkify.addLinks(myTextView, p, “content://com.paad.earthquake/earthquakes/”);

    
[2] andriod 优秀稿件
    来源: 互联网  发布时间: 2014-02-18
andriod 优秀文章

 

 andriod 优秀文章

http://helloandroid.iteye.com/

 


    
[3] oracle 表约束的平添、修改以及约束的禁用启用(转)
    来源: 互联网  发布时间: 2014-02-18
oracle 表约束的添加、修改以及约束的禁用启用(转)

 

--禁用所有外键约束的Sql代码
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'

--启用所有外键约束的Sql代码
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'  

执行查询出外键,然后执行即可

 

以下提到的内容都很简单,所以不详细说明,仅罗列一些语法:

一、主外键的添加、删除

1、向表中添加外键约束,把emp表的deptno字段设置为emp表的外键,引用自dept表

      ALTER TABLE emp  ADD CONSTRAINT FK_test FOREIGN KEY(deptno) REFERENCES dept(deptno);

2、向表中添加主键约束 alter table emp add constraint pk_emp primary key(empno);

3、创建表的同时创建主键约束

(1)无命名 create table EMP( empno int  primary key not null, ename varchar(20), deptno int);

(2)有命名 create table EMP( empno int , ename varchar(20), deptno int , constraint PK_EMP primary key(empno));

4、删除表中已有的主键约束

(1)无命名可用 SELECT * from user_cons_columns;

      如:SELECT * from user_cons_columns where table_name='EMP';

        查找表中主键名称得emp表中的主键名为PK_EMP

        alter table student drop constraint  PK_EMP;

(2)有命名 alter table emp drop constraint PK_EMP;

 

二、更改表的结构

  1.编辑表的字段

  修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):

  语法:

  ALTER TABLE 表名 MODIFY(列名,数据类型);

  eg1:

  alter table skate_test modify (author number(10,0) )

  在修改列的长度时候,只能编辑比现有字段实际存的长度还要大,否则提示下面的错误:

  ORA-01441: 无法减小列长度, 因为一些值过大

  eg2:

  alter table skate_test modify (author varchar2(10) )

  在修改列的数据类型的时候,所修改的列必须为空,否则提示下面的错误:

  ORA-01439: 要更改数据类型, 则要修改的列必须为空

  2.增加一个列

  语法:

  ALTER TABLE 表名 ADD(列名,数据类型);

  eg1:

  ALTER TABLE skate_test ADD(author NUMBER(38,0) not null);

  3.给列改名:

  语法:

  ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;

  eg1:

  ALTER TABLE skate_test RENAME COLUMN author TO authorer_new

  4.删除一个列

  语法:

  ALTER TABLE 表名 DROP COLUMN 列名;

  eg1:

  alter table skate_test drop column author

  5.将一个表改名

  语法:

  ALTER TABLE 当前表名 RENAME TO 新表名;

  eg1:

  alter table skate_test rename to test_sakte

  5.给表加注释

  comment column on 表名.列名 is '注释内容';   //修改表的列的注释

  COMMENT ON TABLE MOVO_NEW.TEST_SAKTE  IS '注释内容';  //修改表的注释

 

三、主键、外键等约束的启用与禁用

这里以外键为例来说明

执行下面的查询语句,我们会得到当前用户下所有可以被查询到的表的外键,并生相应的修改语句。我们指需要把生成的结果copy出来执行就OK了。

不过对于alter语句的使用还是要谨慎,使用之前需要考虑清楚。

--删除所有外键约束 的Sql代码
select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R'
--alter table EMP drop constraint FK_TEST;
--禁用所有外键约束的Sql代码
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
--alter table EMP disable constraint FK_TEST;
--启用所有外键约束的Sql代码
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'  
--alter table EMP enable constraint FK_TEST;

这里有一点需要注意,在上面的查询语句中where条件后带的约束类型 constraint_type='R' ,我们这里指定的是'R',可以猜想到,出来R之外还有其他的约束类型。

下面列出constraint_type的其他几种类型及相应的含义:

Type Code Type Description Acts On Level C Check on a table Column O Read Only on a view Object P Primary Key Object R Referential AKA Foreign Key Column U Unique Key Column V Check Option on a view Object

所以,我们需要禁用哪类约束,就将查询条件做相应的调整就好。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3