摘要:
1. 用Jython调用Java类库第一步、创建Java类写一个简单的Java类,用Point来示例:Java代码importorg.python.core.*;publicclassPointextendsPyObject{privateintx;privateinty;publicPoint(){x=0;y=0;}publicPoint(intx,inty){this.x=x;this.y=y;}publicvoiddump(){System.out.printf("Thepositionis(%s,%s)\n",x,y);}}编译的时候,记得把jython.jar加入 阅读全文
摘要:
我们写程序的时候都希望能写出一个没有任何Bug的程序,期望在任何情况下都不会发生程序崩溃。不过理想是丰满的,现实是骨感的。没有一个程序员能保证自己写的程序绝对不会出现异常崩溃。特别是针对用户数达到几十万几百万的程序,当你用户数达到一定数量级后,就算你的程序出现个别异常崩溃情况也不用惊讶。 既然我们写的程序都有可能发生异常崩溃,如果是还没发布的程序,我们可以通过测试抓取Log来分析。不过针对已经发布的程序,我们没法重现现象,所以让用户反馈程序异常信息就很重要。下面我们说说如何收集程序运行过程的异常信息。 (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)1、A. 阅读全文
摘要:
前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。按照这种思路,是不是我把初始化的工作尽量减少就可以避免黑屏?事实是,就算你onCreate啥都不做,仍然会闪一下黑屏,因为初始化解析界面时需要一定时间。下面是解决办法:(PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434) 1、自定义Theme//Edited by mythou //http://ww. 阅读全文
摘要:
上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行。今天主要是讲解一下Android里面如何分析我们程序内存使用情况。以便后续可以分析我们程序瓶颈,优化方案。(PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)1、APP默认分配内存大小 在Android里,程序内存被分为2部分:native和dalvik,dalvik就是我们普通的java使用内存,也就是我们上一篇文章分析堆栈的时候使用的内存。我们创建的对象是在这里面分配的,对于内存的限制是 native+dalvik 不能超过最大限制。android. 阅读全文
摘要:
昨天用Gallery做了一个图片浏览选择开机画面的功能,当我加载的图片多了就出现OOM问题。以前也出现过这个问题,那时候并没有深究。这次打算好好分析一下Android的内存机制。 因为我以前是做VC++开发,因此对C++在Window下的内存机制还是比较了解。不过转到Android后,一直都没有刻意去处理内存问题,因为脑子里一直想着Java的GC机制。不过现在想想,自己对Android的GC和内存管理并不了解,自己写的代码在内存哪里运行都不清楚,心里不淡定啊。。。。 毕竟我以前写C++的时候,什么时候在哪里申请内存,什么时候释放内存,会不会栈溢出或者堆内存泄露都了如指掌。言归正传,今天打算.. 阅读全文
摘要:
一、构造SocketSocket的构造方法有以下几种重载形式:(1)Socket()(2)Socket(InetAddress address, int port)throws UnknownHostException,IOException(3)Socket(InetAddress address, int port, InetAddress localAddr, int localPort)throws IOException(4)Socket(String host, int port) throws UnknownHostException,IOException(5)Socket(S 阅读全文
摘要:
网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的。首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴。在发送 阅读全文
摘要:
今天帮同学看一个bindService的样例,说是无法bind service(他接触android时间不长),那代码是从网上找的一个样例,结果看了半天,才终于找到问题所在了),这个问题真是令人挺无语的!下面贴代码:MusicService.javapackage com.pan.music;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import android.app.Service;import android.content.Intent; 阅读全文
摘要:
JAVA跑马灯文字效果的实现:1. 首先创建一个继承JFrame类的HorseRaceLightTextFrame窗体类,代码如下:package com.example.horseracelighttext;import java.awt.Dimension;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import javax.swing.JFrame;public class HorseRaceLightTextFrame extends JFrame{ /** * *... 阅读全文
摘要:
本例主要是通过使用坐标轴平移,图形旋转和获得随机数等技术来绘制艺术图案。通过重写JPanel类中的paint()方法,并在该方法中使用Graphics2D类中的translate(),setColor(),ratate()和draw()方法来实现的。具体代码如下:1. 创建一个ArtDesignPanel类,继承JPanel类,来进行图形的绘制 1 package com.example.artdesign.ui; 2 3 import java.awt.Color; 4 import java.awt.Graphics; 5 import java.awt.Graphics2D; 6 im. 阅读全文