本课程基于最新构建工具链,以一个页面路由框架的开发-发布为主线,将实战与理论相结合,深度学习 Gradle 及时下热门的编译时注解处理、字节码插桩等高级技术,带领大家系统化掌握 Android 应用构建知识,提升开发效率。
技术要求
Android基础知识
Android Studio等开发工具的基本使用
环境参数
技术语言:Groovy/Java/Kotlin
Android: 10.0+开发平台:Mac
IDE:Android Studio 4.0+Gradle:6.0+
Android Gradle Plugin: 4.1.0+
coding=UTF-8
XingHe Studio File to MD5 and SHA1
銀河創作室(XingHeStudio.com)
Create by Stream.Wang 2012-04-10
Modify by Stream.Wang 2012-04-10
def fil_changefileext(filename,extname=''):
FIL ChangeFileExt 改動文件擴展名
filename 輸入的文件途径名
extname='' 要更改分擴展名,如 .txt
import os
try:
if extname[0]<>'.':
extname='.'+extname
except:
extname=''
if os.path.splitext(filename)[1]=='':
uouttxt=filename+'.'+extname
elif os.path.splitext(filename)[1]=='.':
uouttxt=filename+extname
else:
uouttxt=filename[:0-len(os.path.splitext(filename)[1])]+extname
return uouttxt
def fil_str2file(fstr,filename):
try: outfile=open(filename,'w') outfile.writelines(fstr) outfile.close() return True except: return False
if name == 'main':
import os,sys,math
if len(sys.argv)==1:sys.argv.append(r'c:\FreeNAS-8.0.4-RELEASE-x64.iso')
if len(sys.argv)>1:
filepathname=sys.argv[1]
if os.path.isfile(filepathname) :
fmaxs = os.path.getsize(filepathname)+0.00
fpos = 0.00
ppos=0
pmax=50
pjy=0
fmd5=fil_changefileext(filepathname,'.md5')
fsha1=fil_changefileext(filepathname,'.sha')
ffm=os.path.basename(filepathname)
開端處置
print 'Program Runing "'+filepathname+'" ...'
import hashlib
try:
umd5str = hashlib.md5()
usha1str = hashlib.sha1()
xfilepathname=unicode(filepathname,'utf8')
需求運用二進製格式讀取文件内容
ufile = file(xfilepathname,'rb')
while True:
datas = ufile.read(1024512)
if not datas: break
umd5str.update( datas )
usha1str.update( datas )
fpos=fpos+1024512
ppos=int(math.floor(fpos / fmaxs 50))
pposbfh=int(math.floor(fpos / fmaxs 100))
打印進度條
if pjy<>ppos: print '['+''ppos +'='(pmax-ppos)+'] '+str(pposbfh) +'%'
打印進度問題未處理,不晓得print函數怎樣退回到行首掩蓋輸出,不換行我倒是晓得,加個“,”
pjy=ppos
uoutstrmd5=str(umd5str.hexdigest())
uoutstrsha1=str(usha1str.hexdigest())
ufile.close()
print ''
fil_str2file(uoutstrmd5+' '+ffm+'\n',fmd5)
fil_str2file(uoutstrsha1+' *'+ffm+'\n',fsha1)
print 'Task is completed !' + r' [ XingHe Studio File to MD5 and SHA1 ]'
except:
print 'Error !' + r' [ XingHe Studio File to MD5 and SHA1 ]'
else:
print 'File "'+filepathname+'" not exist!'+ r' [ XingHe Studio File to MD5 and SHA1 ]'
else:
print r' [ XingHe Studio File to MD5 and SHA1 ]'