版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 xUtils框架的介紹(一)2013-11-01 20:27 6557人閱讀 評(píng)論(2) 收藏 舉報(bào) 微信賬號(hào)申請(qǐng)終于通過了,這是我們第一次Android干貨分享。想來是第一次,要對(duì)得起“干貨”二字。今天我要為大家推薦的是一個(gè)Android基于快速開發(fā)的一個(gè)框架xUtils,它是在aFinal基礎(chǔ)上進(jìn)行重構(gòu)和擴(kuò)展的框架,相比aFinal有很大的改善。同時(shí),如果如果你的應(yīng)用是基于網(wǎng)絡(luò)的,那么只要處理得當(dāng),它會(huì)讓你徹底的擺脫各種工具類和重復(fù)代碼的困擾。好的,廢話不多說,程序猿們還是代碼說起。 xUti
2、ls 包含了很多實(shí)用的android工具。xUtils 源于Afinal框架,對(duì)Afinal進(jìn)行了大量重構(gòu),使得xUtils支持大文件上傳,更全面的http請(qǐng)求協(xié)議支持,擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響。同時(shí)需要注意的是,xUitls最低兼容android 2.2 (api level 8) 。今天我們的主題是整體介紹下xUtils,主要介紹它重要的四大組件。具體各個(gè)組件的使用,會(huì)在之后幾天陸續(xù)為大家奉上。下面開始:一、ViewUtils 你受夠了重復(fù)冗長(zhǎng)的findViewById了嘛?
3、你受夠了各種監(jiān)聽事件的綁定了嘛?在這里,你只需要一句注解,如ViewInject、OnClick,就能輕松擺脫小白似的代碼,大大的上了一個(gè)檔次。二、HttpUtils 支持的HTTP七種請(qǐng)求方式,非常便捷的滿足你的接口請(qǐng)求的需要。同時(shí)還支持大文件上傳下載,以及同步異步請(qǐng)求。三、BitmapUtils 你的程序因OOM強(qiáng)制關(guān)閉過嘛?你在為加在網(wǎng)絡(luò)圖片頭疼嘛?有了組件,你將永久擺脫前面的問題。四、DbUtils 簡(jiǎn)單易用又出色的ORM框架,真的
4、是誰用誰知道,直接輕松存儲(chǔ)各種對(duì)象到sqlite數(shù)據(jù)庫中,同時(shí)也能非常方便的進(jìn)行各種條件查詢,甚至分頁查詢,還有對(duì)表中數(shù)據(jù)的更新刪除等操作,真正的實(shí)現(xiàn)。一行代碼就可以進(jìn)行增刪改查。并且可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等,支持事務(wù)。 由于xUtils是基于aFinal的,這個(gè)開源框架是國(guó)內(nèi)的某位大神寫的,所以了解了aFinal之后再回頭看xUtils,才會(huì)更有收獲。同時(shí),也要向這位大神以及眾多的開源貢獻(xiàn)者致敬,有了他們的奉獻(xiàn)和開源的精神,才涌現(xiàn)出一個(gè)個(gè)耳熟能詳?shù)母觾?yōu)秀的更加穩(wěn)定的框架。我們眾所周知的Linux就是這么誕
5、生的。 aFinal學(xué)習(xí)地址: xUtils框架的介紹(二)2013-11-01 21:55 5688人閱讀 評(píng)論(4) 收藏 舉報(bào)框架bitmap控件昨天對(duì)xUtils整體上做了一個(gè)簡(jiǎn)單的介紹,今天咱們就代碼碼起,真刀實(shí)槍的也看看,看看如何快速便捷的把xUtils給集成到大家的項(xiàng)目中去。xUtils中有四大組件可以供我們使用,分別是ViewUtils、HttpUtils、BitmapUtils以及DbUtils
6、。如果你沒能先讀一下我的上一篇文章,那么請(qǐng)你移步過去先整體了解一下,再回過頭來看這篇文章,相信你回更有體會(huì)的。下面依次開始介紹這些組件具體的使用。一、ViewUtils android中得ioc(控制反轉(zhuǎn))框架,可以完全使用注解的方式來完成UI的綁定和事件綁定。簡(jiǎn)單的說,ViewUtils的功能就是做這個(gè)的,但是可以說,就這么個(gè)功能確是能極大的簡(jiǎn)化我們的代碼。下面我們看下具體的代碼,順便對(duì)比下注解的方式綁定ID和findViewById之間的差別。java view plaincopy1. <span style="white-space:pre
7、"> </span>2. ViewInject(R.id.btn) 3. private Button btn; 4. 5. ViewInject(R.id.img) 6. private ImageView
8、60;img; 7. 8. ViewInject(R.id.list) 9. private ListView list; 10. 11. Override 12. &
9、#160;protected void onCreate(Bundle savedInstanceState) 13. super.onCreate(savedInstanceState); 14. setContentView(R.layout.activity_second); 15.
10、0; ViewUtils.inject(this); 1. <p style="margin-top:0px; margin-bottom:0px; font-size:14px; font-family:Monaco; color:rgb(119,119,119)"></p> java view plaincopy1. </pre><pre
11、0;name="code" class="java"><span style="white-space:pre"> </span>Override 2. protected void onCreate(Bundle savedInstanceState) 3.
12、 super.onCreate(savedInstanceState); 4. setContentView(R.layout.activity_second); 5. 6. btn =&
13、#160;(Button) findViewById(R.id.btn); 7. img = (ImageView) findViewById(R.id.img); 8. list = (ListView) findViewById(R.id.list); 9.
14、0; 10. 如果項(xiàng)目中得Activity中的控件相當(dāng)多,那么想象一下代碼中累積的那一大坨就真心受不了。通過xUtils的簡(jiǎn)單注解,就能輕松擺脫無盡壞味道的代碼。注意:在使用注解綁定控件的時(shí)候,一定記得在onCreate中調(diào)用ViewUtils.inject(this);下面我們?cè)賹?duì)比下Android中事件綁定的區(qū)別。java view plaincopy1. <span style=&quo
15、t;white-space:pre"> </span>OnClick( R.id.btn, R.id.img ) 2. public void clickMethod(View v) 3. Toast.makeText(SecondActivity.this,
16、60;"you clicked button!", 4. Toast.LENGTH_SHORT).show(); 5. 6. 7. OnItemClick(R.id.list)
17、160; 8. public void itemClick(AdapterView<?> parent, View view, int position,long id) 9. Toast.makeText(SecondActivity.this, "position->"
18、;+ position, 10. Toast.LENGTH_SHORT).show(); 11. java view plaincopy1. <span style="white-space:pre">
19、160; </span>btn.setOnClickListener(this); 2. list.setOnItemClickListener(new OnItemClickListener() 3. Override
20、160; 4. public void onItemClick(AdapterView<?> parent, View view, 5.
21、0; int position, long id) 6. Toast.makeText(SecondActivity.this, "position->" + position, 7.
22、; Toast.LENGTH_SHORT).show(); 8. 9. );<pre
23、;name="code" class="java"><span style="white-space:pre"> </span>Override 10. public void onClick(View v) 11. switch (v.g
24、etId() 12. case R.id.btn: 13. Toast.makeText(SecondActivity.this, "you clicked button!", 14.
25、 Toast.LENGTH_SHORT).show(); 15. break; 16. default:
26、; 17. break; 18. 19. 原本綁定Button的監(jiān)聽事件要么用丑陋的內(nèi)部類,要么Activity實(shí)現(xiàn)OnClickListener,在復(fù)寫的onClick方法中去根據(jù)id。而xUtils只要通過簡(jiǎn)單的一句注解就能實(shí)現(xiàn)
27、監(jiān)聽事件的功能,而且可以實(shí)現(xiàn)多個(gè)控件共用一個(gè)監(jiān)聽方法。同時(shí)xUtils提供onClick、onItemClick、onLongClick等15種事件監(jiān)聽注解。注意:在使用注解監(jiān)聽事件的時(shí)候,監(jiān)聽方法名是自定義的,但是一定要保證方法的訪問修飾符為public,同時(shí)方法的參數(shù)要與Android原來的監(jiān)聽方法參數(shù)一致,不僅參數(shù)類型,而且要保證參數(shù)的順序。二、BitmapUtils 加載網(wǎng)絡(luò)或本地bitmap的時(shí)候無需擔(dān)心再遇到OOM的現(xiàn)象,管理bitmap的內(nèi)存采用了LRU算法,同時(shí)也能避免列表滑動(dòng)過程中發(fā)生圖片錯(cuò)位等得現(xiàn)象。加載網(wǎng)絡(luò)圖片時(shí),還可以配置運(yùn)行線程的數(shù)量,緩存路徑等。通過Bi
28、tmapUtils的各種構(gòu)造器,可以很方便的創(chuàng)建出本地緩存路徑和緩存的大小,以及內(nèi)存緩存的大小。java view plaincopy1. <span style="white-space:pre"> </span>2. BitmapUtils utils = new BitmapUtils(this); 3. BitmapDisplayConfig config
29、160;= new BitmapDisplayConfig(this); 4. config.setLoadingDrawable(getResources().getDrawable(R.drawable.loading); 5. config.setLoadFailedDrawable(getResources().getDrawable(R.drawable.failed); 6. &
30、#160; config.setImageLoadCallBack(new ImageLoadCallBack() 7. Override 8. public void loadFailed(ImageView imageView, Drawable drawable)
31、 9. 10. Override 11. public void loadCompleted(ImageView imageView, Drawable drawable,
32、;12. BitmapDisplayConfig config) 13. 14. ); 15. config.setBitma
33、pMaxWidth(480); 16. config.setBitmapMaxHeight(720); 17. / utils.display(img, "18. utils.display(img, "BitmapUtils在用來加載網(wǎng)絡(luò)圖片時(shí),可以配置加載圖片尺寸的大小,加載成功和失敗的回調(diào)以及加載過程中圖片的配置。同時(shí)也可以選擇
34、不配置。java view plaincopy1. /bitmapUtils.display(testImageView, "/sdcard/test.jpg"); /支持加載本地圖片 2. 3. / 使用ListView等容器展示圖片時(shí)可通過PauseOnScrollListener控制滑動(dòng)和快速滑動(dòng)過程中時(shí)候暫停加載圖片 4. listView.setOnScrollListener(new PauseOnScrollListener(bitmapUti
35、ls, false, true); 5. listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true), customListener); 明天再講剩下的兩個(gè)組件:DbUtils和HttpUtils。 xUtils框架的介紹(三)2013-11-04 23:12 9124人閱讀 評(píng)論(5) 收藏 舉報(bào)數(shù)據(jù)庫androidsqlite接上回,繼續(xù)
36、介紹xUtils的最后兩個(gè)模塊:DbUtils和HttpUtils。首先先介紹第一個(gè)SQLite數(shù)據(jù)庫操縱的簡(jiǎn)單ORM框架,只要能理解xUtils為我們提供的api,相信你也能熟練的把DbUtils用到項(xiàng)目中去。操縱數(shù)據(jù)庫的工具類,無論多牛X,總離不開最根本的crud,即創(chuàng)建,查詢,更新和刪除。下面從這四個(gè)角度依次介紹xUtils是如何簡(jiǎn)便持久化數(shù)據(jù)的。大家都知道,在Android里面如果要存儲(chǔ)一個(gè)對(duì)象,我們需要?jiǎng)?chuàng)建一個(gè)SQLiteOpenHelper,然后還得創(chuàng)建一張對(duì)應(yīng)對(duì)象各個(gè)屬性的表,還得繼續(xù)把我們的對(duì)象轉(zhuǎn)換成ContentValues,進(jìn)而去存儲(chǔ)。真心是麻煩的不能再麻煩了,我們現(xiàn)在介紹
37、的DbUtils就能讓你輕松解脫麻繩一樣的代碼。DbUtils在進(jìn)行save操作的時(shí)候,會(huì)根據(jù)java反射 反射出對(duì)象的各個(gè)字段,然后去查詢數(shù)據(jù)庫中是否存在這個(gè)對(duì)象類型對(duì)應(yīng)的表,如果表已經(jīng)存在,直接進(jìn)行插入操作;如果不存在,就先動(dòng)態(tài)的創(chuàng)建的一張對(duì)應(yīng)我們對(duì)象的表,再進(jìn)行插入處理。直接上代碼,大家看。java view plaincopy1. <span style="white-space:pre"> </span>2. OnClick(R.id.insert) 3
38、. public void insert(View v) 4. Student stu = null; 5. for (int i = 0; i < 20;
39、i+) 6. stu = new Student(); 7. stu.setAge(10 + i); 8.
40、160; stu.setName("jack" + i); 9. mList.add(stu); 10. try 11. &
41、#160; dbUtils.save(stu); 12. catch (DbException e) 13.
42、0; e.printStackTrace(); 14. 15. 16. 注意:并不是所有的實(shí)體對(duì)象都快可以通過這種方式去存儲(chǔ)
43、,一定要保證對(duì)象的類型中有int類型的id或者_(dá)id的屬性,這就對(duì)應(yīng)數(shù)據(jù)庫表中的主鍵字段。如果類型中沒有id字段,可以通過Id注解去指定一個(gè)int類型的字段作為主鍵。如果表中的又字段不想被存儲(chǔ)在數(shù)據(jù)庫中,也可以通過Transient去實(shí)現(xiàn)忽略。如果直接存儲(chǔ)一個(gè)對(duì)象的列表,這樣也是被允許的,達(dá)到批量存儲(chǔ)的目的。DbUtils可以幫助對(duì)SQL語句不是很熟悉的同學(xué)快速的實(shí)現(xiàn)查詢,而不用去寫sql查詢語句,而且可以對(duì)查詢結(jié)果進(jìn)行排序和分頁,使用簡(jiǎn)單,功能強(qiáng)大。大家可以看下,下面的幾行代碼就能實(shí)現(xiàn)復(fù)雜的查詢功能1. dbUtils.findAll(Selector.from(Student.
44、class) 1. .where("_id", "<", 10).and("age", ">", 10).orderBy("_id") 2. .limit(pageSize).offset(pageSize * pageIndex); 同樣的,也可以對(duì)數(shù)據(jù)庫中得數(shù)據(jù)進(jìn)行便捷的更新。下面演示的是更新Student對(duì)應(yīng)的表中的第一條記錄的age這個(gè)字段。這個(gè)比較簡(jiǎn)
45、單,就直接上代碼看吧。java view plaincopy1. OnClick(R.id.update) 2. public void update(View v) 3. try 4. Lis
46、t<Student> stus = dbUtils.findAll(Selector.from(Student.class); 5. Student stu = stus.get(0); 6. s
47、tu.setAge(20); 7. dbUtils.update(stu); 8. catch (DbException e) 9.
48、0; e.printStackTrace(); 10. 11. 最后一個(gè)就是數(shù)據(jù)的刪除。一個(gè)實(shí)體對(duì)象,一組實(shí)體對(duì)象,根據(jù)條件刪除,刪除表,刪除整個(gè)數(shù)據(jù)庫,這些操作都可以通過一句簡(jiǎn)單的代碼來實(shí)現(xiàn),看了代碼就明白了。java view plaincopy1. 1. OnClick(R.id.delete) 2.
49、; public void delete(View v) 3. try 4. List<Student> stus = dbUtils.findAll(Selector.from(Student.c
50、lass); 5. dbUtils.delete(stus.get(0); 6. dbUtils.deleteAll(stus); 7.
51、 dbUtils.deleteById(Student.class, WhereBuilder.b("age", "=", 20); 8. dbUtils.dropTable(Student.class); 9.
52、; dbUtils.dropDb(); 10. catch (DbException e) 11. e.printStackTrace(); 12.
53、60; 13. xUtils框架的介紹(四)2013-11-05 21:55 4159人閱讀 評(píng)論(7) 收藏 舉報(bào)xUtilsandroidHttp今天介紹xUtils的最后一個(gè)模塊HttpUtils,拖了那么久,終于要結(jié)束了。另外,碼字不易,如果大家有什么疑問和見解,歡迎大家留言討論。HttpUtils是解決日常工作過程中繁雜的上傳下載文件以及各種Get和post請(qǐng)求的必備工具類,通過這個(gè)類,開源非常方便關(guān)注接
54、口的業(yè)務(wù),不必再再寫那么冗長(zhǎng)的代碼。下面全文都圍繞著四個(gè)中心點(diǎn)去依次展開,分別是:HttpGet請(qǐng)求,HttpPost請(qǐng)求,下載文件和上傳文件。HttpGet請(qǐng)求。相信從事Android網(wǎng)絡(luò)應(yīng)用的開發(fā)的同學(xué)對(duì)這個(gè)一定不會(huì)陌生,長(zhǎng)期的開發(fā)會(huì)讓大家積累下一個(gè)可以復(fù)用的工具類。而xUtils就是幫助了我們把那些工具類給抽象整合成一個(gè)更具擴(kuò)展性的幫助類。比如HtttpGet請(qǐng)求,這里只簡(jiǎn)要介紹下關(guān)鍵的應(yīng)用方法,具體的細(xì)節(jié)還請(qǐng)大家自己去下載xUtils的源碼去研究研究了,我們介紹的足夠應(yīng)用到我們的應(yīng)用開發(fā)中去了。通常的HttpGet請(qǐng)求會(huì)把一系列的請(qǐng)求參數(shù)掛在請(qǐng)求地址的后面,拖出一節(jié)長(zhǎng)長(zhǎng)的尾巴,十分的惹
55、人厭,這里可以通過像HttpPost請(qǐng)求的參數(shù)那樣組成一個(gè)類似BasicNameValuePair的對(duì)象直接封裝到請(qǐng)求方法中去,省去拼接url的麻煩,同時(shí)也可以設(shè)置超時(shí)時(shí)間。另外請(qǐng)求的方法中提供了一個(gè)回調(diào)類,這個(gè)類中有處理不同請(qǐng)求結(jié)果的回調(diào)方法,比如說請(qǐng)求過程中的回調(diào),請(qǐng)求成功的回調(diào)以及請(qǐng)求出現(xiàn)錯(cuò)誤時(shí)的回調(diào)。下面直接上代碼看下。java view plaincopy1. RequestParams params = new RequestParams(); 2.
56、params.addQueryStringParameter("method", "info"); 3. params.addQueryStringParameter("access_token", 4. "3.1042851f652496c9362b1cd7
57、7d4f849b.2592000.1377530363.3590808424-248414"); 5. 6. HttpUtils http = new HttpUtils(); 7. http.configCurrentHttpGetCacheExpiry(1000 * 10); 8.
58、0; http.send(HttpRequest.HttpMethod.GET, " new RequestCallBack<String>() 9. Override 10. public void&
59、#160;onStart() 11. resultText.setText("conn."); 12.
60、 13. 14. Override 15. public void
61、onLoading(long total, long current) 16. resultText.setText(current + "/" + total); 17.
62、160; 18. 19. Override 20.
63、 public void onSuccess(String result) 21. resultText.setText("response:" +
64、result); 22. 23. 24. 25. Override 26.
65、 public void onFailure(HttpException error, String msg) 27. &
66、#160; resultText.setText(msg); 28. 29. ); HttpPost請(qǐng)求。為了統(tǒng)一請(qǐng)求的風(fēng)格,
67、HttpPost請(qǐng)求的方式和HttpGet的幾乎可以說是一模一樣,一樣提供了各種對(duì)應(yīng)不同結(jié)果的回調(diào)方法,大家自己看下面的代碼就曉得了,真是一目了然。java view plaincopy1. RequestParams params = new RequestParams(); 2. params.addQueryStringParameter("method", "mkdir");
68、0; 3. params.addQueryStringParameter("access_token", "3.1042851f652496c9362b1cd77d4f849b.2592000.1377530363.3590808424-248414"); 4. params.addBodyParameter("path",
69、160;"/apps/測(cè)試應(yīng)用/test文件夾"); 5. 6. HttpUtils http = new HttpUtils(); 7. http.send(HttpRequest.HttpMethod.POST, 8.
70、; "9. params, 10. new RequestCallBack<
71、;String>() 11. 12. Override 13.
72、60;public void onStart() 14. resultText.setText("conn."); 15.
73、0; 16. 17. Override 18.
74、160; public void onLoading(long total, long current) 19. resultText.setText(cur
75、rent + "/" + total); 20. 21. 22.
76、0; Override 23. public void onSuccess(String result) 24.
77、60; resultText.setText("upload response:" + result); 25. 26.
78、 27. 28. Override 29. public void
79、onFailure(HttpException error, String msg) 30. resultText.setText(msg); 31. &
80、#160; 32. ); 下面為大家介紹一個(gè)非常非常實(shí)用的功能,就是通過Http協(xié)議去下載文件,再也不必為Android中下載文件而寫下一大坨一大坨的代碼,如此長(zhǎng)的代碼調(diào)試起來真是能氣死人。還記得以前做過一個(gè)項(xiàng)目,有個(gè)需求就是能下載視頻的,而且
81、還要能支持?jǐn)帱c(diǎn)下載,只寫那么一個(gè)下載工具類就寫了一兩天,再加上調(diào)試,真心把人都給逼瘋了。要是xUtils早點(diǎn)在那個(gè)時(shí)候面世,想那時(shí)做那個(gè)需求也不必那么通過。HttpUtils為開發(fā)者提供了非常方便的下載api,可以通過簡(jiǎn)單的幾個(gè)參數(shù)來實(shí)現(xiàn)下載,甚至斷點(diǎn)下載的功能。上代碼。java view plaincopy1. <span style="white-space:pre"> </span>2. HttpHandler handler = htt
82、p.download( downloadAddrEdit.getText().toString(), "/sdcard/fileexplorer.apk", true, / 如果目標(biāo)文件存在,接著未完成的部分繼續(xù)下載。 3. true, / 如果從請(qǐng)求返回信息中獲取到文件
83、名,下載完成后自動(dòng)重命名。 4. new RequestCallBack<File>() 5. 6.
84、 Override 7. public void onStart() 8.
85、60; resultText.setText("conn."); 9. 10. 11.
86、160; Override 12. public void onLoading(long total, long curr
87、ent) 13. resultText.setText(current + "/" + total); 14.
88、 15. 16. Override 17.
89、0; public void onSuccess(File result) 18. resultText.
90、setText("downloaded:" + result.getPath(); 19. 20. 21.
91、; Override 22. public void onFailure(HttpException error, String msg) 23.
92、 resultText.setText(error.getExceptionCode() + ":" + msg); 24.
93、; 25. ); 注意:下載過程中如果需要暫停下載,也只需簡(jiǎn)單的一行代碼來實(shí)現(xiàn):mHandler.stop(),如果設(shè)置斷點(diǎn)下載的話,下次會(huì)重新開始的話,會(huì)自動(dòng)從上次下載的斷點(diǎn)處繼續(xù)下載。最后介紹的功能就是上傳文件了,這個(gè)也是在項(xiàng)目中也是非常常
94、見的。比如用戶上傳頭像,再比如網(wǎng)盤應(yīng)用需要把本地文件上傳到云端等等。同時(shí)HttpUtils也同時(shí)為開發(fā)者提供了上傳過程中和上傳結(jié)果的各個(gè)回調(diào)接口。大家在使用HttpUtils上傳文件的時(shí)候,只要仿照下面的代碼去碼代碼就快可以基本滿足業(yè)務(wù)的需要了。java view plaincopy1. <strong> </strong>RequestParams params = new RequestParams(); 2. &
95、#160; params.addQueryStringParameter("method", "upload"); 3. params.addQueryStringParameter("path", "/apps/測(cè)試應(yīng)用/test.zip"); 4.
96、/ 請(qǐng)?jiān)诎俣鹊拈_放access_tokenapi測(cè)試頁面找到自己的access_token 5. params.addQueryStringParameter("access_token", "3.1042851f652496c9362b1cd77d4f849b.2592000.1377530363.3590808424-248414"); 6. &
97、#160; params.addBodyParameter("file", new File("/sdcard/test.zip"); 7. 8. HttpUtils http = new HttpUtils(); 9. http.send(HttpRequest.HttpMethod.POST, 10. "11.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于加強(qiáng)企業(yè)資產(chǎn)管理的思考
- 新政府會(huì)計(jì)制度下科學(xué)事業(yè)單位科研項(xiàng)目經(jīng)費(fèi)核算研究
- 春 朱自清 課件
- 單詞連連看答題闖關(guān)游戲課堂互動(dòng)課件1
- 53模擬試卷初中數(shù)學(xué)八年級(jí)下冊(cè)09專項(xiàng)素養(yǎng)綜合全練(九)
- 協(xié)商民主課件教學(xué)課件
- 中國(guó)礦山生態(tài)修復(fù)市場(chǎng)深度剖析與投資戰(zhàn)略研究報(bào)告2024-2030年
- 物理學(xué)家伽利略課件
- 中國(guó)戶外媒體廣告行業(yè)發(fā)展規(guī)模與投資前景趨勢(shì)預(yù)測(cè)報(bào)告2024-2030年
- 八上物理第一次月考卷(參考答案)(北師大版2024)
- 懸掛式干粉滅火裝置培訓(xùn)資料
- 鉆井工程試題
- JJF 1951-2021基于結(jié)構(gòu)光掃描的光學(xué)三維測(cè)量系統(tǒng)校準(zhǔn)規(guī)范
- CB/T 3593-1994氣脹救生筏技術(shù)條件
- 古詩詞誦讀《江城子 乙卯正月二十日夜記夢(mèng)》課件(19張PPT)
- 深圳市企業(yè)職工養(yǎng)老保險(xiǎn)養(yǎng)老金申請(qǐng)表空表
- 機(jī)構(gòu)編制管理課件
- Unit 1 Spring festival Reading 課件 高中英語人教版必修第三冊(cè)
- 航空運(yùn)價(jià)及運(yùn)費(fèi)練習(xí)和答案解析
- DB3305-T 247-2022《銀行信貸碳排放核算通則》
- VTE綜合試題題庫及答案
評(píng)論
0/150
提交評(píng)論