hibernate 多数据库的save方法访问几次数据库,都是那几次

hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)【转】 -
- ITeye技术网站
博客分类:
Hibernate中的merge方法挺好用的。
官方文档的说明如下:
the state of the given object onto the persistent object with the same
identifier. If there is no persistent instance currently associated with
the session, it will be loaded. Return the persistent instance. If the
given instance is unsaved, save a copy of and return it as a newly
persistent instance. The given instance does not become associated with
the session. This operation cascades to associated instances if the
association is mapped with cascade="merge".
The semantics of this method are defined by JSR-220.
Parameters:
object - a detached instance with state to be copied
an updated persistent instance
HibernateException
  有几种情况:
  1.如果idertifier(以下简称为id)为空或不存在,则进行insert 动作
  2.如果id存在,则进行update动作
  至于会话层的就如文档上所说,不再多说。
===========================
hibernate的update和merge
首先, merge作用大致相当于saveorupdate这个方法, 即有唯一性标识, 则运行save, 没有则运行update
下面来比较2者的区别, update(object), 方法运行后, object是持久化状态, 而Object obj = merge(object), 方法运行后, object是脱管状态, obj是持久化状态
最后比较2者的性能, 本人使用for循环测试10000次, merge: 150ms, update: 50ms, 显然update性能占优势.
所以, merge的用法应该是在需要返回被保存的对象时使用.
例子我就懒得贴了, 有兴趣的朋友可以自己测下, 我就只写结论了.
================================
hibernate的保存
hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:
在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached
下边是常见的翻译办法:
transient:瞬态或者自由态
persistent:持久化状态
detached:脱管状态或者游离态
脱管状态的实例可以通过调用save()、persist()或者saveOrUpdate()方法进行持久化。
持久化实例可以通过调用 delete()变成脱管状态。通过get()或load()方法得到的实例都是持久化状态的。
脱管状态的实例可以通过调用 update()、saveOrUpdate()、lock()或者replicate()进行持久化。
游离或者自由状态下的实例可以通过调用merge()
方法成为一个新的持久化实例。
save()和persist()将会引发SQL的INSERT,delete()会引发SQL的DELETE,
update()或merge()会引发SQL的UPDATE。对持久化(persistent)实例的修改在刷新提交的时候会被检测到,它也会引起
SQLUPDATE。saveOrUpdate()或者replicate()会引发SQLINSERT或者UPDATE
二、save 和update区别
把这一对放在第一位的原因是因为这一对是最常用的。
save的作用是把一个新的对象保存
update是把一个脱管状态的对象保存
三,update 和saveOrUpdate区别
这个是比较好理解的,顾名思义,saveOrUpdate基本上就是合成了save和update
引用hibernate reference中的一段话来解释他们的使用场合和区别
通常下面的场景会使用update()或saveOrUpdate():
程序在第一个session中加载对象
该对象被传递到表现层
对象发生了一些改动
该对象被返回到业务逻辑层
程序调用第二个session的update()方法持久这些改动
saveOrUpdate()做下面的事:
如果对象已经在本session中持久化了,不做任何事
如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常
如果对象没有持久化标识(identifier)属性,对其调用save()
如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()
如果对象是附带版本信息的(通过&version&或&timestamp&) 并且版本属性的值表明其是一个新实例化的对象,save()它。
否则update() 这个对象
四,persist和save区别
这个是最迷离的一对,表面上看起来使用哪个都行,在hibernate reference文档中也没有明确的区分他们.
这里给出一个明确的区分。(可以跟进src看一下,虽然实现步骤类似,但是还是有细微的差别)
中的一个说明:
---------------------------------------------------------------------------------
I found that a lot of people have the same doubt. To help to solve this issue
I'm quoting Christian Bauer:
"In case anybody finds this thread...
persist() is well defined. It makes a transient instance persistent. However,
it doesn't guarantee that the identifier value will be assigned to the persistent
instance immediately, the assignment might happen at flush time. The spec doesn't say
that, which is the problem I have with persist().
persist() also guarantees that it will not execute an INSERT statement if it is
called outside of transaction boundaries. This is useful in long-running conversations
with an extended Session/persistence context.A method like persist() is required.
save() does not guarantee the same, it returns an identifier, and if an INSERT
has to be executed to get the identifier (e.g. "identity" generator, not "sequence"),
INSERT happens immediately, no matter if you are inside or outside of a
transaction. This is not good in a long-running conversation with an
extended Session/persistence context."
---------------------------------------------------------------------------------
简单翻译一下上边的句子的主要内容:
1,persist把一个瞬态的实例持久化,但是并"不保证"标识符被立刻填入到持久化实例中,标识符的填入可能被推迟
到flush的时间。
2,persist"
保证",当它在一个transaction外部被调用的时候并不触发一个Sql
Insert,这个功能是很有用的,当我们通过继承Session/persistence
context来封装一个长会话流程的时候,一个persist这样的函数是需要的。
3,save"不保证"第2条,它要返回标识符,所以它会立即执行Sql insert,不管是不是在transaction内部还是外部
五,saveOrUpdateCopy,merge和update区别
首先说明merge是用来代替saveOrUpdateCopy的,这个详细见这里
然后比较update和merge
update的作用上边说了,这里说一下merge的
如果session中存在相同持久化标识(identifier)的实例,用用户给出的对象的状态覆盖旧有的持久实例
如果session没有相应的持久实例,则尝试从数据库中加载,或创建新的持久化实例,最后返回该持久实例
用户给出的这个对象没有被关联到session上,它依旧是脱管的
重点是最后一句:
当我们使用update的时候,执行完成后,我们提供的对象A的状态变成持久化状态
但当我们使用merge的时候,执行完成,我们提供的对象A还是脱管状态,hibernate或者new了一个B,或者检索到一个持久对象B,并把我们提供的对象A的所有的值拷贝到这个B,执行完成后B是持久状态,而我们提供的A还是托管状态
六,flush和update区别
这两个的区别好理解
update操作的是在脱管状态的对象
而flush是操作的在持久状态的对象。
默认情况下,一个持久状态的对象是不需要update的,只要你更改了对象的值,等待hibernate flush就自动
保存到数据库了。hibernate flush发生再几种情况下:
1,调用某些查询的时候
2,transaction commit的时候
3,手动调用flush的时候
七,lock和update区别
update是把一个已经更改过的脱管状态的对象变成持久状态
lock是把一个没有更改过的脱管状态的对象变成持久状态
对应更改一个记录的内容,两个的操作不同:
update的操作步骤是:
(1)更改脱管的对象-&调用update
lock的操作步骤是:
(2)调用lock把对象从脱管状态变成持久状态--&更改持久状态的对象的内容--&等待flush或者手动flush
参考内容:
wushuicheng
浏览: 36984 次
来自: 广州
jhost 邀请码:54_398029 ...3669人阅读
EJB3.0(3)
刚刚使用myeclipse的Hibernate 反向工程生成的dao文件的save方法不能入库
1.首先很多时候我们把id设置为自动增长的,而反向工程生成的类中并没有设置申明该字段为自增,可以对这个字段前面做如下设置:
&@Id&@GeneratedValue(strategy=GenerationType.AUTO)&@Column(name = "id", unique = true, nullable = false)
2.JDBC默认的是自动提交而Hibernian默认的是手动提交,必须beginTransaction开启事务,手动提交,然后commit否则数据库中没有保存的记录:eg:&&&&&&& EntityManagerHelper.beginTransaction();&&&&&&& playersDAO.save(players);&&&&&&& mit();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:331112次
积分:5371
积分:5371
排名:第3961名
原创:201篇
转载:35篇
评论:33条
(1)(3)(1)(5)(3)(1)(3)(3)(5)(7)(2)(1)(1)(4)(1)(1)(5)(4)(10)(18)(5)(11)(4)(5)(11)(1)(7)(2)(4)(13)(5)(1)(6)(14)(12)(7)(5)(2)(1)(3)(9)(5)(5)(1)(2)(1)(8)(6)中国Java开发网 - 麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
Topic: 麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
1.麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
Posted by: asii
Posted on:
现在大部份使用都是Hibernate+spring,今天尝试了一下用纯Hibernate进行数据库操作: public
implements
java.io.Serializable
powerId; private
departmentId; private
set*();//所有的geter和seter } public
main(String[]
{ Configuration
configuration
Configuration(); configuration.configure( "/HibernateSpringTest/hibernate.cfg.xml "); SessionFactory
sessionFactory
configuration.buildSessionFactory(); Session
sessionFactory.openSession(); //
Auto-generated
stub Manager
Manager(); manager.setName( "asii "); manager.setPassword( "111111 "); manager.setPowerId(1); manager.setCreateId(1); manager.setCreatetime(new
Date()); manager.setDepartmentId(1); session.save(manager); //
HibernateSessionFactory.getSession().save(manager); //
HibernateSessionFactory.closeSession(); System.out.print( "Success "); } } 执行结果是: INFO
hibernate.properties
reflection
java.sql.Timestamp
configuring
/HibernateSpringTest/hibernate.cfg.xml
Configuration
/HibernateSpringTest/hibernate.cfg.xml
hibernate/Manager.hbm.xml
hibernate.Manager
Configured
SessionFactory:
connection
production
connection
autocommit
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/success
connection
properties:
{user=root,
password=****}
mysql-connector-java-3.1.10
$Revision:
org.hibernate.dialect.MySQLDialect
transaction
transactions)
TransactionManagerLookup
configured
environment,
read-write
transactional
second-level
recommended)
beforeCompletion():
transaction:
Scrollable
getGeneratedKeys():
Connection
translator:
org.hibernate.hql.ast.ASTQueryTranslatorFactory
ASTQueryTranslatorFactory
substitutions:
Second-level
org.hibernate.cache.EhCacheProvider
Structured
second-level
Statistics:
identifier
entity-mode:
configuration
Configuring
ehcache-failsafe.xml
classpath:
jar:file:/D:/Program%20Files/MyEclipse%205.5.1%20GA/myeclipse/eclipse/plugins/com.genuitec.org.hibernate.eclipse_5.5.0/myeclipse-data/3.0/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
configured Hibernate:
success.manager
departmentId,
createtime,
?) Success 如上结果,显示了Hibernate: insert into success.manager (name, password, powerId, departmentId, createtime, createId) values (?, ?, ?, ?, ?, ?) 而且也打印出了“Success”但是到数据库里去看,就是死活没有数据,被气死。大家麻烦看看,问题是出在哪里?
2.Re:麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
[Re: asii]
Posted by: bigseal
Posted on:
Session sess = factory.openSession();Transaction tx =try {
tx = sess.beginTransaction();
// do some work
tx.commit();}catch (RuntimeException e) {
if (tx != null) tx.rollback(); // or display error message}finally {
sess.close();}在事物中保存就可以了Although the Hibernate reference documentation states that the use of transactions is optional, I found that (at least through Version 2.1.1, with the HSQLDB database) any changes I made outside the context of a Hibernate transaction would disappear when the application ended. Analyzing the SQL emitted by Hibernate revealed that even though I didn't request a transaction, auto-commit was being turned off, so my changes were getting rolled back when the application ended. So for now it's always necessary to use explicit transactions in your code, a good habit in any case.摘自 《OReilly_-_Hibernate_A_Developers_Notebook_2004》
3.Re:麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
[Re: asii]
Posted by: shishishi
Posted on:
没有提交呗!
4.Re:麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
[Re: asii]
Posted by: xuan198451
Posted on:
刚开始没有启动事务事务未提交
5.Re:麻烦帮忙看一下,hibernate的save操作执行了,但是数据却没有被插入
[Re: asii]
Posted by: nihaolaogao
Posted on:
Configuration configuration = new Configuration(); 这个默认读的是hiberante.properties.想要读/hibernate.cfg.xml 它.应该这样写Configuration configuration = new Configuration().config();
Powered by & Version Jute 1.5.6 Ent
Copyright &
Cjsdn Team. All Righits Reserved.
客服电话&&&&&客服信箱&&&&&客服QQ&714923关于Hibernate save方法执行之后得到的id与数据库中实际存入值的id不一致的问题
今天在写一个程序时,发生了件很奇怪的事,以前一直没有注意到。
这次的级联操作我不用hibernate帮我来做,我想自己实现它,所以我在service层的第二个操作之前得到第一个操作的id。
试验几次后,发现hibernate返回来的id与数据库中存的id不一致,差好多,几经研究,终于发现了问题,原来是我在数据库中加了触发器,导致这个问题。
我想大概是这样:
当执行this.getHibernateTemplate().save(obj)时,hibernate执行了三步操作:
1.去数据库中找sequence的下一个值,即应该存入的id
select & & & & backrole_seq.nextval& & & from & & & & dual
如果在实体类中没有指定是哪个sequence,它会去hibernate_sequence中找,如果不存在此序列,则会无法插入数据。
2.执行实体类的setId方法,将id赋进去.
3.执行sql的save方法。
因此,当数据库中本身存在着触发器时,在执行了sql的save方法之中,数据库本身又改变了它的id。然后才真正地存入到数据库中。
所以当数据库中有触发器时,会导致存入实体之后,再用getId()方法拿到的id并不是数据库中的id,从而影响下一步操作的正确性。
因此呢,我是把数据库中的触发器去掉,然后针对每一个实体类,都定义一个sequence,然后在hibernate层用此数据库建立的sequence就可以了。
@SequenceGenerator(name=&backrole_s&,sequenceName=&backrole_seq&) @GeneratedValue(generator=&backrole_s&) @Column(name=&id&)
public int getId() {
数据库中:
drop sequence backrole_SEQ; create sequence backrole_SEQ minvalue 1 maxvalue 999 start with 1 increment by 1 cache 20;
关于游戏中SurfaceView频繁刷新的卡顿问题 我最近在开发一个游戏,里面的小球上下跳动,使用的是SurfaceView,刷新时间间隔为33ms,但是我发现画面不够流畅,会出现一卡一卡的卡顿画面,于是便将绘图模块的耗时打印出来,出现如下图数据
统计的模块代码都是绘图代码,不包含任何游戏逻辑代码,如下图
得出的结论是,Surfaceview在刷新相同画面的时候会出现耗时不一致(时差非常大)
android orm映射框架(类似hibernate)基本使用
android orm映射框架,可像hibernate一样操作数据库。 以下代码是我从网上摘录下来的,仅供参考.
importjava.sql.SQLE&
关于sqlite破解问题 把数据存入到sqlite后,别人有办法破解看到sqlite的结构啊,数据什么的吗? 如果有,请问怎么预防?重要字段加密?
求大神解答。
------解决方案--------------------
sqlite的数据库是不支持加密,任何sqlite工具都可以看到sqlite数据库的内容。
据说sqlite的作者提供付费版本的sqlite了,可以设密码。仅仅据说。
android应用开发关于数据永久存储相关的问题? 在开发一个应用程序中,需对某一INT值进行保存和读取。同时,一旦保存后该值不受android系统中&设置——隐私权——恢复出厂设置&的影响。
目前想将该值保存到nvram中。在应用层中是否有直接的方法可以对NVRAM中的值进行读取和保存?
或者,是否在应用层中有存储空间可以对值进行保存,而不受and
关于java调用c动态库的问题 各位大牛好:
小弟是新手,在这里遇到了一个问题,不知道如何解决,希望大家抽点时间帮帮忙,谢谢了
问题如下:
我在用java调用C的动态库,这期间java传了一个jstring类型的参数给c,但c这边接收到为乱码,我从网上查看了一些资料,就是jstring转为char
Android中关于浮动窗体的问题 我现在已经实现了浮动窗体的功能,但实际使用中有如下问题: 1.我在来电和去电的时候能够正常将浮动窗体显示在通话界面上,但在用户按了返回或者主页按钮后,浮动窗体不消失,我的本意是想在电话界面消失的时候浮动窗体也跟着一起消失。 不知道大虾们有没有遇到过类似的问题,如果有能告知是如何解决的么?或者解决此思路是如何?本人刚接触android不久!
------解决方
Android数据库的问题 数据已经导入数据库,接下来怎么写程序实现把数据库放入data/data/包/database下呢? 求大神指点~~
------解决方案--------------------
String dbPath=android.os.Environment.getExternalStorageDirectory().getPath();
关于圆形progressbar的问题,不是有关于颜色的 小弟,初学android,遇到个问题,求高手帮我解释下原因和方法,谢谢!
我现在做了个登录,是连后台服务器上的webservice,然后在SQL的; 假如我点击一个button按钮,理论上应该button上的text改变(登录中...),然后再下方出现个圆形progressbar,然后再后台连;
可是,我现在,点击登录按钮后,t
关于Eclipse中File Explorer的问题 我想在DDMS——File Explorer中删除android模拟器中自己编写的程序,但是运行模拟器后File Explorer中什么都没有, 重启Eclipse也没用。。。请教一下大虾 :)
------解决方案--------------------
在DDMS设备那里一定要让鼠标选中那个running的设备才会有显示
求助大虾,关于listView的一个问题! 关于listView显示的一个问题,现在滚动条是显示在listView圆角边框里面,可是这样非常不好看,我想让滚动条显示在整个屏幕的右侧,滚动listView下面的那个linearLayout,而不是滚动listView,不知道这样表述大家能不能明白
请教大虾们该怎么实现呢?
------解决方案-------------------
关于onNewIntent的使用问题 如果activity的启动模式是singleTask,这个activity里面有一个通知,点击通知时启动这个activity。有什么办法不让他调用onNewIntent方法……?或者调用了onNewIntent方法,但不执行我写在onNewIntent的执行方法(和onCreate一样的)……其他调用如定时条件到达时调用onNewIntent方法时又执行我写在
关于处理Handler处理耗时的下载任务的问题 我在handler里面需要执行下载任务的代码,为了解决下载时界面不卡.在handler里面我又创建了一个线程来执行该下载的代码,但是子线程里面不能更新界面,难道我又在handler里面在得到下载的东西之后再用handler通过message来发送给自己,再来更新界面?怎么感觉这种方法很别扭,有更好的方法吗?
------最佳解决方案--------
android中关于camera开发的一些问题 最近开发android中camera程序中遇到的问题一直未能解决,求各位大侠帮帮忙 代码如下: public class CameraTActivity extends Activity implements OnClickListener,SurfaceHolder.Callback{
/** Called when the act
关于viewpager的问题 大家好,我在一个layout里面定义了ViewPager开始的时候显示这个layout,然后用setcontentView显示了一个自定义的View,我现在想返回显示layout,但是layout里面的viewPager里面的内容没有显示出来,请问有人碰到过类似的情况嘛?
------解决方案-------------------- 问题解决了&nbsp
java 中关于map的赋值问题 贴上部分代码: Map&String, Map&String, Integer&& Map&String, Integer& in = new HashMap(); fingerprint = new HashMap();
in.put(&1-TP-LINK_2348C
关于layout的问题 一个LinearLayout中有三个元素, 顶部一个head,底部一个footer,中间一个listView。目前出现了个问题,footer没有出现,被listView盖住了。不清楚什么问题,请牛人指点。xml如下:
&LinearLayout xmlns:android=&/apk
求助关于DevicePolicyManager的问题
package t1. import android.app.A import android.app.admin.DeviceAdminR import android.app.admin.DevicePolicyM import android.content.C
关于android中怎么设置TabWidget中图片及字体的大小的问题
由于在所做的项目中的图片资源都是从网上抠的,所以造成了,在TabWidget中图片过大,从而覆盖掉了里面的文字,最开始的效果如图
在网上众多的搜索结果中,网上大部分将的都是有关怎么更改字体的大小及颜色的问题,代码如下
设置tabHost 中的tabs的字体颜色、大小等;
关于APK的问题 一个项目能不能生成不同APK。
------解决方案-------------------- 一个apk可以在launcher 里面显示多个图标
------解决方案--------------------
就像一个apk里面有四大名著 这个4个小说 只要修改AndoridManifest就可以生成其中一个的apk
------解决方案----------------
关于selector的问题 问什么selector没有出现效果?求大神 啊
调用的时候:android:background=&@drawable/selector&
&?xml version=&1.0& encoding=&utf-8&?& &selector xmlns:android
关于自定义控件的问题 现有一个自定义的TextView控件,在onDraw()方法里有重画文字
使用的paint是通过getTextPaint()获取的
但问题也就出来了,我在xml填充的textSize和textColor属性都没用 现有种思路,通过在自定义控件里获取在xml中设定的textSize和textColor属性对应的值,然后赋值给paint
我知道可以通过自定义属性达到目的,
关于Gson使用的问题 请教各位大侠了 Gson是可以通过Gson.fromJson()这个方法将Json字符串转化为对应的类对象的吧....但是如果这个类对象的成员中有自定义类的话,如何将其从字符串转化为类对象呢例如 Json字符串{&id&:12334,&user&:{&name&:&Sam&,&age&
Android关于GridView与使用dimen资源的问题! 写一个练习程序时遇到的错误,百思不得其解:
GridView中适配的TextView用dimen资源设置宽度与高度时出现的错误,textview.setHeight(R.dimen.cell_height);当setHeight中的参数为R.dimen.cell_height时(cell_height为d
关于一种设计思路的问题???? 启动一个服务后,会实例化OPT类,并调用方法A, 在a方法中会执行一个等待:
synchronized (OPT.this) {
wait(5分钟);
} catch (InterruptedException e) {
在等待时,我强制关闭服务后,再启动,会在调用OPT的a方法时停住,因为OPT没有notify
Android的NDK开发中 关于VBO的问题 每帧绘制的数据量大约300k, 每帧数据都可能变化。我使用vbo开了一个30k的空间,每次当数据量达到30k就调用glBufferSubData函数将数据上传给gpu绘制,一帧绘制中可能调用十多次glSubBufferData,vbo的状态是GL_DYNAMIC_DRAW。
vbo调用的是\andro
关于socket数据传输的问题~菜鸟求救 我想做名片的传输,之前试过只传一个名字,或者只传一张图片,都可以成功(我是把它转化成byte,用inputstream的read方法和outputstream的write方法实现的),但是现在我想同时传名字,电话号码和头像图片,怎么样才能一次性传输完呢?求教大侠们,先谢过啦!
------解决方案--------------------
收到方,就按
问个Java中关于类的的基础问题 低端问题
class A{ int i=0; A(){} }
class A{ A(){ i=0; } }
有没有区别?
------解决方案-------------------- 没区别
------解决方案-------------------- 如果不写其他代码了,
关于include的一个问题,请求高手支援 在做布局时,有时候几个页面用到相同的布局就会新建一个 布局文件 然后通过include引用 但是引用这个布局后,怎么才能改变布局里面的内容呢?比如创建了一个TextView布局,引用后想在这个布局中加入一句话该怎么实现呢?
------解决方案-------------------- include设个id,比如为a; View view = (Vi
请教大神们关于cygwin/NDK的一个问题 cygwin里运行$NDK/ndk-build需要1.7以上么?如何升级cygwin呢?
------解决方案--------------------
不是必须1.7以上吧. 升级是指安装库么?
------解决方案--------------------
升级的话直接执行setup.exe就行
是不是需要1.7以上不清楚,现在直接下载安装
模拟器和真机调试图片显示大小不一致 请教各位大侠:
我在调试一个游戏的贴图,结果发现模拟器上大小显示正常,而真机上的图片变小了些,这是怎么回事@@
------解决方案-------------------- 图片分辨率问题!!
------解决方案-------------------- 楼主可以看看模拟器建立的分辨率是多大的,而真机的分辨率是多大的,可以对比一下就知道哪里
关于TextView显示错位的问题,快崩溃了,请求帮助! TextView 如下定义:
android:id=&@+id/call_textView_winnum&
android:layout_width=&wrap_content&
关于多线程下载的问题 我在ListView中的每个ListItem中都加了一个Button,希望点击这个Button的时候下载对应的文件,然后在Button上显示下载的百分比,要求能同时下载多个文件,目前已经用Handler+Thread的方式实现了,但是感觉在ListView的Adapter的getView()方法中写的代码很乱很复杂,请问有什么更好的方法实现这个功能,或者就用Handler+T
关于Andriod的一个小小的逻辑问题 比如一个加密的软件,你打开后,显示你已经加密的一些文件,程序是如何判读的呢
就是比如我给A.txt加密了,然后生成了加密文件A ,我打开之后软件之后,点击“已加密文件” A就被列出来了,程序是怎么发现A的呢。
------解决方案-------------------- 参考:java 如何判断文件是否加密
------解决方案-----------
大家来讨论一下关于代码优化的问题 安卓手机游戏 surfaceview里面的图片太多,运行起来老是死机,该如何优化,我做的打怪游戏,一关一个surfaceview(我用的是一个activity,多个surfaceview),求高手!!! 能说个思路也行!答好了追加!!!!!
------解决方案-------------------- 如果可以, 尽量使用.9图 纯色的图片, 就用color去
求教 Android 关于模拟按键的问题 请教大家一个很最近很纠结的问题:我在Service里面用Instrumentation中的发送按键函数实现了按键的模拟,但是遇到一个问题:发送HOME键以后,再发送其他的按键会报错。是不是因为Instr只能针对一个Activity进行测试?我的目标是想实现与具体Activity无关的按键模拟,起初用Service来做的原因就是原以为可以在不同的Activi
当清空sqlite表中的数据后,如何使表的自增id值也归零 清空了sqlite表中的数据后,表的自增id值并不归零,而是呈递增。比如我在A表中插入5条记录,id设置为自增,插入数据后id值为5,当清空表后,再插入数据,id初始值变为了6,而并没有随之回到1,求解决的方法?谢谢!
------解决方案-------------------- 把table删除再重建
------解决方案----
请问关于ViewFlipper的问题
ViewFlipper中放入的是TextView.如上图显示. 上下两块黑色区域中间是放入的TextView.
问题来了. 我只能在黑色区域也就是ViewFlipper外边进行手势操作, 比如翻页. 而在TextView中则无法翻页,请问问题出在哪里了?
关于ViewFlipper的布局:
&ViewFlipper
关于Lancher源码中父类强转成子类的问题 在Launcher的workspace中有一个父类强转子类的例子 代码如下:
CellLayout.LayoutParams lp = (CellLayout.LayoutParams) child.getLayoutParams(); 为什么这里可以强转? 我在自己的代码中Eclipse会报错?
求教,谢谢!!
关于Tabhost布局可以滚动的问题? 目前一个屏幕显示4个tab,想滑动下tab可以移动到下一个tab,请问如何实现,谢谢!
关于viewpager+gridview的问题 为什么我用viewpager+gridview 实现不了呢 我是将每一个viewpager页加上一个gridview然后为什么实现不了呢 有什么要注意的吗 ?请各位大侠帮帮忙~~
------解决方案--------------------
贴代码,看看什么问题}

我要回帖

更多关于 hibernate 数据库配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信