android拼圖源碼
① android 開發大俠 求android google pinyin IME 開源源碼
包含在Android的源代碼里,路徑:packages\inputmethods\PinyinIME
Android的源代碼下載參考: http://source.android.com/source/downloading.html
需要在Linux環境下載
② 如何獲取android源代碼
當前的Android代碼託管在兩個方:https://github.com/android 和https://android.googlesource.com之前在 android.git.kernel.org上也有託管,不過現在重定向到了https://android.googlesource.com好在都支持git訪問。
google提供的repo工具實際上是一個內部操作git工具來簡化操作Android源碼的Python腳本。經過嘗試,直接使用git工具在ubuntu下可以實現cloneAndroid源碼。下面介紹一下方法:
1.獲取當前的在github上託管的Androidgitrepositories:
github頁面為:https://github.com/android/following。不過這個頁面不支持通過wget"https://github.com/android/following"或者curl"https://github.com/android/following"的方式訪問,錯誤信息如下:
這個時候需能做的只能是"tryagain"了。
需要說明的是"不要試圖同時並發執行多個gitclone命令",這樣會導致大量出現上面貼圖中的錯誤,另外,整個clone過程中耗時最多的gitrepository如下:
kernel_common.gitkernel_msm.gitplatform_frameworks_base.gitplatform_prebuilt.git其中platform_prebuilt.git是google提供的預編譯好的二進制文件,包含:各種庫文件,jar包,可執行程序等等,如果只是閱讀Android源代碼,這個gitrepository可以不用clone.
③ 怎樣查看 Android APP源代碼
將apk文件拷貝至sdcard上。
命令順序如下:
進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件後綴直接變成rar格式,可以看到熟悉的目錄結構了,
其中xml文件打開後都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行網路搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之後的目錄如下圖所示:
在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之後,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!
④ 如何編寫android拼圖游戲源碼
主界面開始之前,可以在該按鈕選擇附加選項,代表意義是:是否開始聲音、是否繼續上次最後玩的拼圖、是否隨機選擇一幅拼圖。
菜單,可分類管理:在列表右側,可上下拖動排序;在列表左側,可長按分類的更新、添加、刪除操作,可選擇媒體庫(sdcard 里圖片)玩拼圖。
列表界面圖片,可跳到拼圖界面。
長按圖片,可以下操作:
開始 + 完成贈言,那麼在完成拼圖後,會顯示您為該圖片設置的贈言,這個功能只要是為了,當您想找別人玩您指定的拼圖,當別人完成時可以看到您設置的贈言,增加些樂趣。
開始 + 比賽,那麼您就可以和別人一起來玩拼圖比賽(兩幅同樣的圖同樣的玩法設置),賽事完成後,會統計你們的各自所走的步數和用時。
改變分類,可對該圖分類改變操作。
刪除,可刪除該圖。
拆散關卡類,可對是關卡類的圖拆散操作。
菜單,可以下操作:
分類篩選,快速找到該分類拼圖。
操作選擇,必須先選擇圖片,然後可以將選擇的圖片改變分類、組成關卡類、刪除操作。
排序操作,當排序後,可圖片列表的圖片排序:先一張圖片,然後再另一張圖片,那麼這兩張圖片就會互換位置,從而達到排序效果。
拼圖界面菜單,可玩法設置。左右滑動可對照完整拼圖。
⑤ 如何查看Android源碼
當我們在eclipse中開發android程序的時候,往往需要看源代碼(可能是出於好奇,可能是讀源碼習慣),那麼如何查看Android源代碼呢?
比如下面這種情況
假設我們想參看Activity類的源代碼,按著Ctrl鍵,左擊它,現實的結果卻看不到代碼的,提示的信息便是「找不到Activity.class文件」。
此時點擊下面的按鈕,「Change Attached Source…」,選擇android源代碼所在位置,便彈出圖三的對話框。
第一種是選擇工作目錄,即已經存在的android應用程序源代碼。
第二種分兩種方式
(1)選擇External File…按鈕,添加Jar格式文件或者zip格式文件路徑;
(2)選擇External Floder…按鈕,添加文件夾所在路徑。
下面問題就來了,源代碼在哪裡?不能憑空產生阿。
可以通過Android SDK Manager進行源代碼下載;(推薦該種方法),如圖四
勾選Source for Android SDK,進行下載即可。
此外也可通過其他途徑下載,網上有很多共享的資源。
這里選擇第二種方式的(2)方法,選擇源碼所在目錄(即圖四下載源代碼目錄所在路徑),如圖五
點擊「OK」按鈕,此時,Activity文件便能夠查看源代碼了,如圖六。
這樣就大功告成了!!!
⑥ 求android源碼下載地址,就像學學源碼的原理
Google剛剛公布,穩定版的Android源代碼已經公布,任何人都可以免費下載。Google希望通過公布源代碼,電信運營商和手機製造商,乃至一般開發者們進一步深刻了解和利用Android系統,從而有益於該平台下的的發展。
看來T-Mobile G1不一定打得過iPhone,那麼Android呢?
現在源代碼公布在http://source.android.com/,SDK網站是http://code.google.com/android/
⑦ 1200分跪求JAVA數字拼圖游戲源代碼!
1:
import java.io.IOException;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
// 華容道原理的拼圖游戲。 利用輕組建的套用。
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MyMainFrame extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
MyCanvas myCanvas;
JPanel panelNorth,panelPreview;
Button start,preview,set;
Container container;
public MyMainFrame() {//初使化
container=this.getContentPane();
start=new Button("開始");
start.addActionListener(this);
preview=new Button("預覽");
preview.addActionListener(this);
set = new Button("設置");
set.addActionListener(this);
panelPreview=new JPanel();
panelPreview.setLayout(null);
Icon icon=new ImageIcon ("images/pic_"+MyCanvas.pictureID+".jpg");
JLabel label=new JLabel(icon);
label.setBounds(0,0,400,400);
panelPreview.add(label);
panelNorth=new JPanel();
panelNorth.setBackground(Color.yellow);
panelNorth.add(start);
panelNorth.add(preview);
panelNorth.add(set);
myCanvas=new MyCanvas();
container.add(myCanvas,BorderLayout.CENTER);
container.add(panelNorth,BorderLayout.NORTH);
this.setTitle("成型拼圖小游戲-1212");
this.setLocation(300,200);
this.setSize(408,465);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(3);
} //end of 初始化 構造函數
public void actionPerformed(ActionEvent e) {
Button button=(Button)e.getSource();
if(button==start){
myCanvas.Start();
}else if(button==preview){
if(button.getLabel()=="預覽"){
container.remove(myCanvas);
container.add(panelPreview);
panelPreview.updateUI();
container.repaint();
button.setLabel("返回");
}else{
container.remove(panelPreview);
container.add(myCanvas);
container.repaint();
button.setLabel("預覽");
}
}else if(button==set){
Choice pic = new Choice();
//pic.add("QQ");
pic.add("美女");
int i=JOptionPane.showConfirmDialog(this,pic,"選擇圖片", JOptionPane.OK_CANCEL_OPTION);
//使用選擇對話框來進行選擇圖片。
if(i==JOptionPane.YES_OPTION){
MyCanvas.pictureID=pic.getSelectedIndex()+5;
myCanvas.reLoadPictrue();
Icon icon=new ImageIcon("images/pic_"+MyCanvas.pictureID+".jpg");
JLabel label=new JLabel(icon);
label.setBounds(0,0,400,400);
panelPreview.removeAll();
panelPreview.add(label);
panelPreview.repaint();
}
}
}
public static void main(String[] args) throws UnsupportedAudioFileException, LineUnavailableException, IOException
{
new MyMainFrame();
} //end of main
}
2:
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MyCanvas extends JPanel implements MouseListener
{
/**
*
*/
private static final long serialVersionUID = 1L;
boolean hasAddActionListener=false;//設置方格的動作監聽器的標志位,TRUE為已經添加上動作事件
Cell cell[];//定義方格
Rectangle cellNull;//定義空方格區域 是一個矩形類
public static int pictureID=4;// 當前選擇的圖片代號
public MyCanvas() {
this.setLayout(null);
this.setSize(400,400);
cellNull=new Rectangle(300,300,100,100);//空方格區域在第三行每三列
cell=new Cell[16];
Icon icon;
for (int i = 0; i < 4; i++) {
for(int j=0;j<4;j++){
icon=new ImageIcon("images/pic_"+pictureID+"_"+(i*4+j+1)+".jpg");
cell[i*4+j]=new Cell(icon);
cell[i*4+j].setLocation(j*100,i*100);
this.add(cell[i*4+j]);
}
}
this.remove(cell[15]);//移除最後一個多餘的方格
} //放置9張小圖片並且移調最後一張
public void reLoadPictrue(){//當選擇其它圖形進行拼圖時,需重新載入新圖片
Icon icon;
for (int i = 0; i < 4; i++) {
for(int j=0;j<4;j++){
icon=new ImageIcon("images/pic_"+pictureID+"_"+(i*4+j+1)+".jpg");
cell[i*4+j].setIcon(icon);
}
}
}
public boolean isFinish(){//判斷是否拼合成功
for(int i=0;i<15;i++)
{ int x=cell[i].getBounds().x;
int y=cell[i].getBounds().y;
if(y/100*4+x/100!=i)
return false;
} //end of for
return true;
}
public void Start(){//對方格進行重新排列,打亂順序
while(cell[0].getBounds().x<=100&&cell[0].getBounds().y<=100){//當第一個方格距左上角較近時
int x=cellNull.getBounds().x;
int y=cellNull.getBounds().y;
int direction=(int)(Math.random()*4);//產生0-4,對應空方格的上下左右移動
if(direction==0){//空方格左移動,與左側方格互換位置,左側方格右移動
x-=100;
if(test(x,y)){
for(int j=0;j<15;j++){
if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){//依次尋找左側的按鈕
cell[j].move("RIGHT",100);
cellNull.setLocation(x,y);
break;//找到後跳出for循環
}
}
}
}else if(direction==1){//RIGHT
x+=100;
if(test(x,y)){
for(int j=0;j<15;j++){
if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
cell[j].move("LEFT",100);
cellNull.setLocation(x,y);
break;
}
}
}
}else if(direction==2){//UP
y-=100;
if(test(x,y)){
for(int j=0;j<15;j++){
if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
cell[j].move("DOWN",100);
cellNull.setLocation(x,y);
break;
}
}
}
}else{//DOWN
y+=100;
if(test(x,y)){
for(int j=0;j<15;j++){
if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
cell[j].move("UP",100);
cellNull.setLocation(x,y);
break;
}
}
}
}
}
if(!hasAddActionListener)//如果尚未添加動作事件,則添加
for(int i=0;i<15;i++)//為第個方格添加動作事件,這樣單擊按鈕就能移動了
cell[i].addMouseListener(this);
hasAddActionListener=true;
}
private boolean test(int x,int y){
if((x>=0&&x<=200)||(y>=0&&y<=200))
return true;
else
return false;
}
public void mouseClicked(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mousePressed(MouseEvent e) {
//方格的滑鼠事件,因為用到了MyCanvas中的一些方法,因此沒有在Cell類中處理滑鼠事件
Cell button=(Cell)e.getSource();
int x1=button.getBounds().x;//得到所單擊方格的坐標
int y1=button.getBounds().y;
int x2=cellNull.getBounds().x;//得到空方格的坐標
int y2=cellNull.getBounds().y;
if(x1==x2&&y1-y2==100)//進行比較,如果滿足條件則進行交換
button.move("UP",100);
else if(x1==x2&&y1-y2==-100)
button.move("DOWN",100);
else if(x1-x2==100&y1==y2)
button.move("LEFT",100);
else if(x1-x2==-100&&y1==y2)
button.move("RIGHT",100);
else
return;//不滿足就不進行任何處理
cellNull.setLocation(x1,y1);
this.repaint();
if(this.isFinish()){//進行是否完成的判斷
JOptionPane.showMessageDialog(this,"景鋒恭喜你完成拼圖,加油!想繼續下一關么?");
for(int i=0;i<15;i++)
cell[i].removeMouseListener(this);//如果已完成,撤消滑鼠事件,滑鼠單擊方格不在起作用
hasAddActionListener=false;
}
}
}
3:
import javax.swing.Icon;
import javax.swing.JButton;
public class Cell extends JButton {
/**
*
*/
private static final long serialVersionUID = 1L;
Cell(Icon icon){//實際為ICON
super(icon);
this.setSize(100,100);
}
public void move(String direction,int sleep){//方格的移動
if(direction=="UP"){
this.setLocation(this.getBounds().x,this.getBounds().y-100);
}else if(direction=="DOWN"){
this.setLocation(this.getBounds().x,this.getBounds().y+100);
}else if(direction=="LEFT"){
this.setLocation(this.getBounds().x-100,this.getBounds().y);
}else{
this.setLocation(this.getBounds().x+100,this.getBounds().y);
}
}
}
⑧ 怎樣查看 Android APP 源代碼
用壓縮軟體打開apk文件,解壓出根目錄中的classes.dex文件
使用cmd ,dex2jar.bat classes.dex命令將classes.dex轉換為jar
再用jd-gui打開該jar就可以查看源碼了,如果apk安全性好的話,有些代碼是看不到的
⑨ 安卓源代碼怎麼用
網上給的android源代碼怎麼用?
git的工程裡面不是都有英文的readme么,File -> import先瀏覽到目錄到library,導入library,然後,瀏覽到samples目錄導入samples,結束。
我總共就花了兩分鍾下載導入,build,截圖,發帖回答。
我在網上下了一些Android的源代碼,不知道怎麼用Eclipse運行
file>import> 輸入android 下一步 把你的項目導進去就好了
安卓源碼怎麼用
是import 然後選android 導入整個目錄就行了
下載的安卓源碼怎麼用? 20分
如果是用的ecilipse,在file裡面有個import,剩下的操作可以看這個鏈接
blogs/...9
一個android的源程序怎樣用eclipse打開
用eclipse的import功能將其導入,就可拆帶以打開了
android軟體開發 怎麼讀懂一個android源代碼
一開始都會感覺到疑惑,網路上,論壇上,甚至是書本上都講不清楚,不知道這是什麼原因,我想人類的私心在裡面會占據很大的因素。
不是每個人都願意分享自己辛苦得來的經驗和心得。
android軟體,你可以這么看,它是用java語言+很觸很多的現成的已經被別人寫到的包組合成的。
其實它的本質就是java,然後那些慎旦界面什麼,其實核心就是一個叫做XML的東西。
這個XML其實也沒什麼神秘,就是一個國際化的,標準的標簽。
然後標簽其實說白了就是記號,你在這個XML文件裡面,按照谷歌給你定好的游戲規則,寫標簽,然後這個標簽會被自動解析成相應功能。
整個android界面其實就是一個XML文件,android表面上的東西幾乎都是XML文件組成的,旅孝蘆剩下的核心程序邏輯,其實就是java程序。
再換句話說,你可以在java上把程序邏輯寫好,然後單獨寫個XML文件,然後合並起來,就是android
java問題。安卓手機源代碼怎麼運行
既然你安裝了eclipse那你就可以配置sdk環境,然後建一個android project,把你的源代碼放進去,選擇在你自己的手機上運行就會自動安裝到你手機上了。嫌麻煩的話可以發給我,我幫你運行一下直接給你app文件
如何打開android 源代碼
導入工程文件,就是文件下的Import,打開導入面板後選擇已經存在的項目,在第二項裡面,然後定擇你項目的文件夾即可,eclipse會自動掃描
怎樣著手研究 Android 源代碼
一、源碼里的工程需要導入所有的Android源碼,不可以單獨作為一個Android工程導入到Eclipse里。
二、使用git和repoAndroid的源代碼,參考如下步驟
以下操作都是在Ubuntu10.04LTS下完成:
1)安裝git
sudo apt-get install git-core
2)安裝curl
sudo apt-get install git-core curl
3)安裝Repo,為了方便直接repo到用戶根目錄中。通過curlrepo
安卓游戲中的源代碼有什麼用,是如何編寫和解析的
會java語言么?不會的話跟你解釋也是扯淡