包含corejava图标的词条
本篇文章给大家谈谈corejava图标,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、ubuntu中怎么修改android源码开机界面
- 2、"java jdk 1.6"这软件怎么用?
- 3、安卓开发中如何获得Activity的界面的大小
- 4、java 如何引入 jar包?
- 5、android 快捷图标是什么文件格式?
ubuntu中怎么修改android源码开机界面
在Android界面的系统status bar上添加home,back,menu三个菜单,并完成对应的系统功能。并有higlight效果,修改status bar 高度和status bar上的文字尺寸。
这需要修改android sdk才能完成,我用的是eclair.下面就我的操作进行叙述。
1.首先完成界面显示效果。
需要修改文件
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定义的icon,图片名称指定就好了。另外还要记得修改./frameworks/base/core/res/res/values/arrays.xml,这里定义了icon的slot,并且决定了icon的摆放顺序。
这样,你需要的icon按键就可以显示在系统的status bar上面了。
2.判断touch event是否按动了某个icon
需要修改的文件
./frameworks/base/services/java/com/android/server/status/StatusBarView.java
首先在onTouchEvent函数中,获取当前event的坐标,然后比较是否在某个按键范围之内。由于系统对于statusBar的范围已经有了定义,所以这里只需要比较横坐标就可以了。
其次,也是这一步最关键的,怎么获取具体某一个icon的左右边界坐标呢?系统的status bar左边显示的图标都是notification, 右边显示的是系统icon. 也就是说左边icon属于mNotificationIcons,右边的icon属于mStatusIcons. 在文件StatusBarView.java中出现的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左边的icon的left横坐标。用N = mStatusIcons.getChildCount()得到共有几个系统icon,其中包含visibility为false的icons.用mStatusIcons.getChildAt(N-i)得到的是从右边数第i个的icon view. 这个view的getLeft()+offset就是这第i个icon的左边横坐标,对应的getRight()+offset就是这第i个icon的右边横坐标。本例中home键是右边第2个icon.
3.定义icon响应事件
这里使用的方法是在StatusBarView.java中向
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java发送一个Broadcast,让StatusBarPolicy来完成具体的事件操作。这里需要注意的是不仅要在./frameworks/base/core/java/android/content/Intent.java中定义intent,还要在StatusBarPolicy的构造函数中添加该intent的过滤动作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按动了back键,如果当前事件为action_up,就向系统发送一个keyEvent,keyCode为KeyEvent.KEYCODE_BACK. 这里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函数,直接拷贝过来,按照需要稍微修改一下形参就可以了,过程不要修改。
需要说明的是,当点击statusBar可以拉出来一个notification列表,当这个列表显示出来的时候,这三个back, menu, home键的响应速度会非常慢,所以这时不响应事件并隐藏这三个键。具体做法是在StatusBarView的onTouchEvent()中判断mService.mExpanded或者 mService.mTracking为真时就不做响应。mService是StatusBarService对象。隐藏三个键也是用Broadcast来做的,但这个intent是由StatusBarServie发出来的,当mExpandedVisible = false时显示,当mExpandedVisible = true时隐藏。
这里还同时完成了highlight换图的动作,也是用Broadcast来做得,处理过程一样,就是需要区分action_down和action_up就可以了。
4.调整status bar的高度
如果你需要显示较大的屏幕尺寸,同时statusBar的高度要拉大,上面的icon的size也需要调大。为了协调一致,显示时间的字体和notification显示的日期的字体也需要调大。具体做法如下:
a.调节status bar icon的size: 只调节status_bar.xml的textSize标签似乎不起作用,同时又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);语句才成功。不知道修改status_bar.xml的com.android.server.status.AnimatedImageView标签下的layout_height值是不是必须的,反正我是一起都给改了。
b.调节status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道还需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也给改了。
c.调节notification显示日期字体的大小,修改status_bar.xml的com.android.server.status.DateView的textSize值。
"java jdk 1.6"这软件怎么用?
呵呵,楼上说的够详细的啦,不过我补充一句:环境变量的设置(教人要教最关键的)。
jdk的东西,初学不需要精通,知道它是用来做java开发的就可以了。
设置环境变量:
1.首先,我们要安装jdk,呵呵,注意你的安装目录,最好自定义一下,以后好找,别到最后了,连安装到哪里都不知道。好像它会自动先安装jdk,安装好后,提示你安装jre。都安装上,同一个目录下就可以。如:我的安装目录是:D:\programer\Java。在这个目录下会有你刚才安装的jdk和jre,并且都标示有版本号,我的是:1.5的。不过,道理一样。
2.配置你的环境变量:有3个值需要配置。右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,依次新建“classpath”“java_home”“path”环境变量,他们的值分别为:
java_home=D:\programer\Java\jdk1.5.0_06
classpath=.\;D:\programer\Java\jdk1.5.0_06lib\tools.jar;D:\programer\Java\jdk1.5.0_06\lib\dt.jar;D:\programer\Java\jdk1.5.0_06\jre\lib
path=D:\programer\Java\jdk1.5.0_06\bin (如果你的电脑已经有了path系统变量,则直接在后面加上这个值即可)
以上3值的设定,请注意比较我的安装路径。千万不要直接照抄!
3、测试jdk的安装:
“开始”—》“运行”—》输入“cmd”进入DOS—》分别输入“java”和“javac”
如出现一系列参数,则,安装正常……
4.其实,你要进行java的开发,仅有jdk,虽然可以,但不方便,建议安装eclipse,并且使用myeclipse,我的理解是myeclipse是eclipse的一个插件,如果有问题,问我。安装myeclipse时,如果你的电脑主题使用了别的,或是使用了美化包,建议全部关闭,使之成为最原始的windows经典主题。否则,会死翘翘滴。。。。。安装完后,主题可以再变回来,如果你要进行桌面程序的开发如:使用SWT+JFACE,建议还是使用默认的windows经典主题,否则,设计界面会有问题。
呵呵,干脆,我把关于java所需要的一些列软件的安装,都告诉你吧,看样你是初学java。这样会使你的学习过程比较有乐趣,想当年,我一个人研究的myeclipse的平台,连个帮我的人都没有,那个迷茫,那个郁闷,我都想放弃了。这可是当年搞定myeclipse时保存下来的心得,全部给你把。有问题找我。具体软件的下载,你先自己找找看吧,对了,你的E文好吗?
要去官方网站上下,或是使用myecli自带的help_help contents里面自己找。建议先使用我推荐的版本,然后自己熟了,在逐渐摸索。
一、tomcat的安装和配置
1、安装版本:jakarta-tomcat-5.0.28.exe (core版)
2、配置系统环境变量:
设:我的安装路径为:D:\programer\Tomcat 5.0
则:右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,新建“tomcat_home”环境变量,它的值为:
tomcat_home=D:\programer\Tomcat 5.0
以上值的设定,请注意比较我的安装路径。
3、测试运行tomcat的安装:
可直接双击托盘内tomcat的小图标,或到安装目录下找到“tomcat5w.exe”,双击,即可弹出tomcat的运行界面。他的路径为D:\programer\Tomcat 5.0 \bin\tomcat5w.exe
测试:打开ie,输入“”,其中,8080是默认的端口号。会看到tomcat的主界面,也就是控制面板,搞定它是门大学问。暂时不在此讲解
三、eclipse的安装和配置
1、安装版本:eclipse-SDK-3.1.2-win32.zip 这里说安装不准确,应该说是解压。解压到你的指定目录。
2、link安装方法:
建议在安装eclipse插件时,使用此方法。
使用link安装方法的先决条件:
(1)、 插件的解压缩文件的根目录必须为:*:\eclipse\……
(2)、在解压好的eclipse目录中建立一个文件包,包名随意。设我的eclipse安装目录为:D:\programer\eclipse则我新建的包的目录为: D:\programer\eclipse\links,其中links就是我新建的包。
(3)、为安装的各种eclipse插件,新建link文件,这种文件的后缀名可随意,但我建议使用link做后缀。用记事本打开,并写入:
path=……,具体值在下面介绍。注意自己总结规律。
3、语言包的安装:建议在刚接触时使用,熟悉eclipse的开发环境后,立即删除,因为,如果你不懂e文,就别想在软件这一行混了……安装时要注意版本,我的版本是:NLpack-eclipse-SDK-3.1.x-win32.zip。所有eclipse的插件安装,都必须注意版本号!
我们使用link安装方法,安装我们的语言包,同样是解压,建议你新建一个专门用于存放各类插件解压文件的文件包,我的为:D:\links。
在D:\links下,新建language文件包,将NLpack-eclipse-SDK-3.1.x-win32.zip解压到此文件包内,注意,这时的language文件包的根目录就是:eclipse。(这样表述 可能不正确……o(∩_∩)o),然后在D:\programer\eclipse\links中建立语言包的link文件,我的为:language.link。用记事本打开,并写入: path=D:\\links\\language至于为什么这样写,大家都是聪明的孩子,不用我多说了吧!
4、测试eclipse及语言包的安装:
打开eclipse,会发现你的已是中文。ok!
5、如果不行,到Eclipse安装目录Configuration子目录下,找到org.eclipse.update文件包,靠!就是它搞得鬼,很简单,删掉,然后重新启动。
6、说明:
(1). 插件可以分别安装在多个自定义的目录中。
(2). 一个自定义目录可以安装多个插件。
(3). link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。
(4). link文件中path=插件目录的path路径分隔要用\\或是/
(5). 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。
(6). 插件目录可以使用相对路径。
(7). 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。
(8). 如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。
四、tomcat插件的安装和配置:
1、安装版本:tomcatPluginV3.zip,同样是解压,直接解压到eclipse安装目录下的/plugins子目录下即可。
2、tomcat的配置:
启动eclipse,选择“窗口”—》“首选项”,你会左面发现多了个“tomcat”,点它,在右面设置tomcat和tomcat_home,我就分别为你的安装版本和安装路径。我的为“version 5.x”和“D:\programer\Tomcat 5.0”,点“应用”。
然后,点开左面的tomcat,找到“advanced”,设置“tomcat base”,也是你的tomcat的安装路径。点“应用”
点“确定”,关闭。
五、Myeclipse的安装和配置
1、安装版本:MyEclipse4.1.1 for Eclipse3.1.X,在安装过程中,自动提示“please choose existing eclipse installation folder”也就是你的eclipse的安装目录。
2、进入你的eclipse安装目录,会发现多了一个ico的logo,就是它,其实myeclipse只是eclipse的一个插件……
3、启动eclipse,在“首选项”中有多了一个“myeclipse”,恭喜你,安装成功了
4、配置:
添加tomcat到myeclipse,天啊,弹出窗口要我输入注册码,大家都是穷程序员,给大家个注册码:
MyEclipse 5.0 M2 for Eclipse 3.2
Subscriber:
Subscriber Code: jLR8ZC-444-55-4467865481680090
MyEclipse4.1.1GA for Eclipse3.1.X
License name: hehe
License Key: uLR8ZC-956-55-5467865991428004
MyEclipse3.8.4 for Eclipse3.0.X
iwdc
vAR7ZL-819-56-5467865451894096
hello
uAR7ZL-819-56-54678656892787632
csdn
pAR7ZL-819-56-5467865261354715
还是进入“首选项”,左边找到“myeclipse”—》“application servers”—》“tomcat5”,下面就是输入你的安装路径,点“应用”、“确定”。
六、搞定!
兄弟,还有,你给的分是不是有点。。。。呵呵!
安卓开发中如何获得Activity的界面的大小
在Android系统中,Activity窗口的大小是由WindowManagerService服务来计算的。WindowManagerService服务会根据屏幕及其装饰区的大小来决定Activity窗口的大小。一个Activity窗口只有知道自己的大小之后,才能对它里面的UI元素进行测量、布局以及绘制。本文将详细分析WindowManagerService服务计算Activity窗口大小的过程。
一般来说,Activity窗口的大小等于整个屏幕的大小,但是它并不占据着整块屏幕。为了理解这一点,我们首先分析一下Activity窗口的区域是如何划分的。
我们知道,Activity窗口的上方一般会有一个状态栏,用来显示3G信号、电量使用等图标,如图1所示。
图1 Activity窗口的Content区域示意图
从Activity窗口剔除掉状态栏所占用的区域之后,所得到的区域就称为内容区域(Content Region)。顾名思义,内容区域就是用来显示Activity窗口的内容的。我们再抽象一下,假设Activity窗口的四周都有一块类似状态栏的区域,那么将这些区域剔除之后,得到中间的那一块区域就称为内容区域,而被剔除出来的区域所组成的区域就称为内容边衬区域(Content Insets)。Activity窗口的内容边衬区域可以用一个四元组(content-left, content-top, content-right, content-bottom)来描述,其中,content-left、content-right、content-top、content-bottom分别用来描述内容区域与窗口区域的左右上下边界距离。
我们还知道,Activity窗口有时候需要显示输入法窗口,如图2所示。
图2 Activity窗口的Visible区域示意图
这时候Activity窗口的内容区域的大小有可能没有发生变化,这取决于它的Soft Input Mode。我们假设Activity窗口的内容区域没有发生变化,但是它在底部的一些区域被输入法窗口遮挡了,即它在底部的一些内容是不可见的。从Activity窗口剔除掉状态栏和输入法窗口所占用的区域之后,所得到的区域就称为可见区域(Visible Region)。同样,我们再抽象一下,假设Activity窗口的四周都有一块类似状态栏和输入法窗口的区域,那么将这些区域剔除之后,得到中间的那一块区域就称为可见区域,而被剔除出来的区域所组成的区域就称为可见边衬区域(Visible Insets)。Activity窗口的可见边衬区域可以用一个四元组(visible-left, visible-top, visible-right, visible-bottom)来描述,其中,visible-left、visible-right、visible-top、visible-bottom分别用来描述可见区域与窗口区域的左右上下边界距离。
在大多数情况下,Activity窗口的内容区域和可见区域的大小是一致的,而状态栏和输入法窗口所占用的区域又称为屏幕装饰区。理解了这些概念之后,我们就可以推断,WindowManagerService服务实际上就是需要根据屏幕以及可能出现的状态栏和输入法窗口的大小来计算出Activity窗口的整体大小及其内容区域边衬和可见区域边衬的大小。有了这三个数据之后,Activity窗口就可以对它里面的UI元素进行测量、布局以及绘制等操作了。
从前面Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析一文可以知道,应用程序进程是从ViewRoot类的成员函数performTraversals开始,向WindowManagerService服务请求计算一个Activity窗口的大小的,因此,接下来我们就从ViewRoot类的成员函数performTraversals开始分析一个Activity窗口大小的计算过程,如图3所示。
图3 Activity窗口大小的计算过程
这个过程可以分为11个步骤,接下来我们就详细分析每一个步骤。
Step 1. ViewRoot.performTraversals
这个函数定义在文件frameworks/base/core/java/android/view/ViewRoot.java中,它的实现很复杂,一共有600-行,不过大部分代码都是用来计算Activity窗口的大小的,我们分段来阅读:
[java] view plaincopypublic final class ViewRoot extends Handler implements
ViewParent,
View.AttachInfo.Callbacks {
......
private void performTraversals() {
......
final View host = mView;
......
int desiredWindowWidth;
int desiredWindowHeight;
int childWidthMeasureSpec;
int childHeightMeasureSpec;
......
Rect frame = mWinFrame;
if (mFirst) {
......
DisplayMetrics packageMetrics =
mView.getContext().getResources().getDisplayMetrics();
desiredWindowWidth = packageMetrics.widthPixels;
desiredWindowHeight = packageMetrics.heightPixels;
} else {
desiredWindowWidth = frame.width();
desiredWindowHeight = frame.height();
if (desiredWindowWidth != mWidth || desiredWindowHeight != mHeight) {
......
windowResizesToFitContent = true;
}
}
复制代码
这段代码用来获得Activity窗口的当前宽度desiredWindowWidth和当前高度desiredWindowHeight。
java 如何引入 jar包?
右键项目-properties-java build path(左侧菜单)-选择libraries
有两种方式,导入jar包实际上就是建立一种链接,并不是copy式的导入
一、导入外部包,add external jars...,这种只是与jar包的绝对路径建立链接,并不会拷贝到项目中。
二、导入包,add jars...,这种需要你事先把jar包拷贝到项目中,通过选择项目下的jar,与jar包的相对路径建立链接。
两种方式下导入的包,jar包名称前面的图标会有区别。
另外,如果jar包名称前面的图标出现黄色叹号,
说明这个jar的路径有问题,需要重新导入。
android 快捷图标是什么文件格式?
由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数
据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN。
大家可以研究一下frameworks/base/core/java/android/provider
/Telephony.java这个类,
比较重要的就是 URI 和数据库字段: content://telephony/carriers
字段可以在Telephony.java中找到。
其实原理很简单 :
1 、 当开启APN的时候,设置一个正确的移动或者联通的APN
2、 关闭的时候设置一个错误APN就会自动关闭网络 !
关于corejava图标和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。