如果你入門了iOS開發(fā)并且有一定的英文功底,我是非常推薦你去看的,尤其官方文檔,應(yīng)該經(jīng)常翻閱。但是我認(rèn)為保持學(xué)習(xí)的熱情是最重要的。本著這個(gè)理念,我推薦的學(xué)習(xí)方法難度非常低,希望你們能滿意。 第一階段: RayWenderlich網(wǎng)站中的 The iOS Apprentice教程 這個(gè)教程截止目前已經(jīng)不更新OC語言的版本了,但是如果你是抱著求職為目的的學(xué)習(xí)還是請(qǐng)看OC版本的(兩年前的版本)。The iOS Apprentice的教程針對(duì)完全沒有編程經(jīng)驗(yàn)的人設(shè)計(jì)。這個(gè)教程是外國(guó)人寫的并且有免費(fèi)試讀版,感興趣的人要看看。里面說的東西都非常非常基本,里面一個(gè)共講解了4個(gè)不同類型app,強(qiáng)烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會(huì)遇到很多復(fù)雜的語句和長(zhǎng)的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時(shí)間以及經(jīng)驗(yàn)的增加,你都會(huì)懂得。。如果看完了這個(gè)免費(fèi)的教程覺得還挺想繼續(xù)學(xué)的請(qǐng)參王寒老師也做了swift版本的The iOS Apprentice教程翻譯,自己去找)
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、陽(yáng)信網(wǎng)站維護(hù)、網(wǎng)站推廣。
第二階段:培訓(xùn)班的網(wǎng)絡(luò)課程及入門書籍 經(jīng)過第一個(gè)階段你應(yīng)該已經(jīng)大致掌握IOS開發(fā)流程,能編寫一個(gè)非常簡(jiǎn)單的應(yīng)用了。這時(shí)候相信你的熱情應(yīng)該會(huì)很高漲,但接下來的學(xué)習(xí)可能會(huì)很枯燥,做好準(zhǔn)備
建議首先要惡補(bǔ)基礎(chǔ)知識(shí)。經(jīng)過第一個(gè)階段你可能覺得你懂不少了,但是只是表面,尤其是沒學(xué)過編程的應(yīng)該好好學(xué)習(xí)一下視頻前面的課程,主要看看語法。等你看惡心了看煩了就去看視頻里UI部分,這里相對(duì)于來說比較輕松,一定要把視頻里寫的語句打一遍,相信這樣你理解會(huì)更深刻。里面說的不清楚的地方上網(wǎng)可以百度,可以查書(如果你有書的話)。
用XCode創(chuàng)建一個(gè)新的iOS應(yīng)用,模版選擇“Empty Application”。取個(gè)工程名(我將要編寫一個(gè)游戲引擎,所以我命名為"ExampleEngine"),保持默認(rèn)選擇(如果是編寫一個(gè)庫(kù),那在類前最好有個(gè)前綴,我用的是“EE”),保存。
接著我們添加OpenGL與GLKit相關(guān)frameworks。點(diǎn)擊左上角的工程,然后選中TARGETS下你的target,再選中Build Phases欄,在“Link Binary With Libraries”中加入GLKit, OpenGLES,QuartzCore這三個(gè)framework。完成后,你將會(huì)在工程中看到你加入的framework,當(dāng)然你也可以用拖的方式將其拖入Frameworks分組下。
確保你選擇的是模擬器(如果你有開發(fā)者帳號(hào),你可以用合法的provisioning profile來真機(jī)調(diào)試,于是你可以選擇device),按?B 確保可以正確編譯。
在AppDelegate頭文件里引入GLKit頭文件,這樣就可以調(diào)用GLKit中的方法。
// AppDelegate.h
#import UIKit/UIKit.h
#import GLKit/GLKit.h
...
GLKit了類化了UIView與UIViewController,利用它們將方便我們把OpenGL場(chǎng)景集成到我們的應(yīng)用中。兩個(gè)類都是用代理(蘋果Objective-C庫(kù)中一種非常通用的設(shè)計(jì)模式)的計(jì)設(shè)模式嵌入到我們的應(yīng)用代碼中。我們要用AppDelegate作為GLKit的代理,因此得告訴編譯器AppDelegate會(huì)實(shí)現(xiàn)代理協(xié)議。
// AppDelegate.h
...
@interface AppDelegate : UIResponder UIApplicationDelegate,
GLKViewDelegate, GLKViewControllerDelegate
...
現(xiàn)在來創(chuàng)建場(chǎng)景。將application:didFinishLaunchingWithOptions:這個(gè)方法用下面代碼替換:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
EAGLContext *context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
[EAGLContext setCurrentContext:context];
GLKView *view = [[GLKView alloc] initWithFrame:[[UIScreen mainScreen] bounds] context:context];
view.delegate = self;
GLKViewController *controller = [[GLKViewController alloc] init];
controller.delegate = self;
controller.view = view;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = controller;
[self.window makeKeyAndVisible];
return YES;
}
第3,4行創(chuàng)建OpenGL繪制時(shí)需要的上下文。
第6,7行設(shè)置繪制場(chǎng)景的view。第6行,由OpenGL上下文創(chuàng)建屏幕大小的view。第7行指明view的代理為AppDelegate。這樣繪制每一幀的時(shí)候就會(huì)調(diào)用glkview:drawInRect:這個(gè)方法。
第9-11行,創(chuàng)建GLKViewController,并指明其代理類與view。代理方法中我們主要關(guān)心 glkViewControllerUpdate:
第13-15行,將我們的controller與"window"關(guān)聯(lián),以便顯示。
第17行通知OS我們的應(yīng)用已啟動(dòng)完成。
現(xiàn)在代理方?jīng)]還沒實(shí)現(xiàn)所以有警告提示,但是也可以運(yùn)行。運(yùn)行后,你會(huì)看到純色的背景,看一看吧!
現(xiàn)在我們把這些警告去掉交改背景為灰色。在theapplication:didFinishLaunchingWithOptions:方法下面實(shí)現(xiàn)如下代理方法:
- (void)glkViewControllerUpdate:(GLKViewController *)controller {
// NSLog(@"in glkViewControllerUpdate");
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
// NSLog(@"in glkView:drawInRect:");
glClearColor(0.5, 0.5, 0.5, 0.5);
glClear(GL_COLOR_BUFFER_BIT);
}
現(xiàn)在再運(yùn)行,你會(huì)看到灰色背景,由gl開頭的API實(shí)現(xiàn)的。在OpenGL與GLKit中,顏色由四個(gè)分量組成,分別是紅,綠,藍(lán)與alpha(透明度),每一個(gè)分量取值范圍是[0,1]。
如果你打開上面代碼中的NSLog注釋,你會(huì)在控制臺(tái)看到如下打印。
這兒有兩個(gè)方法,因?yàn)镚LKit基于state與presentation的(類似于MVC的設(shè)計(jì)模式或HTML/CSS分開發(fā)設(shè)計(jì))。State(動(dòng)畫,物理模擬,游戲邏輯)應(yīng)在glkViewControllerUpdate:這回調(diào)中,而glkView:drawInRect應(yīng)用來繪制場(chǎng)景的。
一、簡(jiǎn)單介紹
簡(jiǎn)單來說,音頻可以分為2種
(1)音效
又稱“短音頻”,通常在程序中的播放時(shí)長(zhǎng)為1~2秒
在應(yīng)用程序中起到點(diǎn)綴效果,提升整體用戶體驗(yàn)
(2)音樂
比如游戲中的“背景音樂”,一般播放時(shí)間較長(zhǎng)
框架:播放音頻需要用到AVFoundation.framework框架
二、音效的播放
1.獲得音效文件的路徑
復(fù)制代碼 代碼如下:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExtension:nil];
2.加載音效文件,得到對(duì)應(yīng)的音效ID
復(fù)制代碼 代碼如下:
SystemSoundID soundID = 0;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), soundID);
3.播放音效
復(fù)制代碼 代碼如下:
AudioServicesPlaySystemSound(soundID);
注意:音效文件只需要加載1次
4.音效播放常見函數(shù)總結(jié)
加載音效文件
復(fù)制代碼 代碼如下:
AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID)
釋放音效資源
復(fù)制代碼 代碼如下:
AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID)
播放音效
復(fù)制代碼 代碼如下:
AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)
播放音效帶點(diǎn)震動(dòng)
復(fù)制代碼 代碼如下:
AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)
三、程序示例
先導(dǎo)入需要依賴的框架
導(dǎo)入需要播放的音效文件素材
說明:AVFoundation.framework框架中的東西轉(zhuǎn)換為CF需要使用橋接。
代碼示例:
復(fù)制代碼 代碼如下:
YYViewController.m文件
//
// YYViewController.m
// 14-音效播放
//
// Created by apple on 14-8-8.
// Copyright (c) 2014年 yangyong. All rights reserved.
//
#import "YYViewController.h"
#import
@interface YYViewController ()
@end
復(fù)制代碼 代碼如下:
@implementation YYViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//1.獲得音效文件的全路徑
NSURL *url=[[NSBundle mainBundle]URLForResource:@"buyao.wav" withExtension:nil];
//2.加載音效文件,創(chuàng)建音效ID(SoundID,一個(gè)ID對(duì)應(yīng)一個(gè)音效文件)
SystemSoundID soundID=0;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, soundID);
//把需要銷毀的音效文件的ID傳遞給它既可銷毀
//AudioServicesDisposeSystemSoundID(soundID);
//3.播放音效文件
//下面的兩個(gè)函數(shù)都可以用來播放音效文件,第一個(gè)函數(shù)伴隨有震動(dòng)效果
AudioServicesPlayAlertSound(soundID);
//AudioServicesPlaySystemSound(#systemsoundid)
}
@end
說明:點(diǎn)擊屏幕可以播放音效文件。
音樂的播放
一、簡(jiǎn)單說明
音樂播放用到一個(gè)叫做AVAudioPlayer的`類,這個(gè)類可以用于播放手機(jī)本地的音樂文件。
注意:
(1)該類(AVAudioPlayer)只能用于播放本地音頻。
(2)時(shí)間比較短的(稱之為音效)使用AudioServicesCreateSystemSoundID來創(chuàng)建,而本地時(shí)間較長(zhǎng)(稱之為音樂)使用AVAudioPlayer類。
二、代碼示例
AVAudioPlayer類依賴于AVFoundation框架,因此使用該類必須先導(dǎo)入AVFoundation框架,并包含其頭文件(包含主頭文件即可)。
導(dǎo)入必要的,需要播放的音頻文件到項(xiàng)目中。
代碼示例:
復(fù)制代碼 代碼如下:
//
// YYViewController.m
// 15-播放音樂
//
#import "YYViewController.h"
#import
@interface YYViewController ()
@end
復(fù)制代碼 代碼如下:
@implementation YYViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//1.音頻文件的url路徑
NSURL *url=[[NSBundle mainBundle]URLForResource:@"235319.mp3" withExtension:Nil];
//2.創(chuàng)建播放器(注意:一個(gè)AVAudioPlayer只能播放一個(gè)url)
AVAudioPlayer *audioPlayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil];
//3.緩沖
[audioPlayer prepareToPlay];
//4.播放
[audioPlayer play];
}
@end
代碼說明:運(yùn)行程序,點(diǎn)擊模擬器界面,卻并沒有能夠播放音頻文件,原因是代碼中創(chuàng)建的AVAudioPlayer播放器是一個(gè)局部變量,應(yīng)該調(diào)整為全局屬性。
可將代碼調(diào)整如下,即可播放音頻:
復(fù)制代碼 代碼如下:
#import "YYViewController.h"
#import
@interface YYViewController ()
@property(nonatomic,strong)AVAudioPlayer *audioplayer;
@end
復(fù)制代碼 代碼如下:
@implementation YYViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//1.音頻文件的url路徑
NSURL *url=[[NSBundle mainBundle]URLForResource:@"235319.mp3" withExtension:Nil];
//2.創(chuàng)建播放器(注意:一個(gè)AVAudioPlayer只能播放一個(gè)url)
self.audioplayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil];
//3.緩沖
[self.audioplayer prepareToPlay];
//4.播放
[self.audioplayer play];
}
@end
注意:一個(gè)AVAudioPlayer只能播放一個(gè)url,如果想要播放多個(gè)文件,那么就得創(chuàng)建多個(gè)播放器。
三、相關(guān)說明
新建一個(gè)項(xiàng)目,在storyboard中放三個(gè)按鈕,分別用來控制音樂的播放、暫停和停止。
程序代碼如下:
復(fù)制代碼 代碼如下:
#import "YYViewController.h"
#import
@interface YYViewController ()
@property(nonatomic,strong)AVAudioPlayer *player;
- (IBAction)play;
- (IBAction)pause;
- (IBAction)stop;
@end
@implementation YYViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//1.音頻文件的url路徑
NSURL *url=[[NSBundle mainBundle]URLForResource:@"235319.mp3" withExtension:Nil];
//2.創(chuàng)建播放器(注意:一個(gè)AVAudioPlayer只能播放一個(gè)url)
self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil];
//3.緩沖
[self.player prepareToPlay];
}
- (IBAction)play {
//開始播放/繼續(xù)播放
[self.player play];
}
- (IBAction)pause {
//暫停
[self.player pause];
}
- (IBAction)stop {
//停止
//注意:如果點(diǎn)擊了stop,那么一定要讓播放器重新創(chuàng)建,否則會(huì)出現(xiàn)一些莫名其面的問題
[self.player stop];
}
@end
注意:如果點(diǎn)了“停止”,那么一定要播放器重新創(chuàng)建,不然的話會(huì)出現(xiàn)莫名其妙的問題。
點(diǎn)擊了stop之后,播放器實(shí)際上就不能再繼續(xù)使用了,如果還繼續(xù)使用,那么后續(xù)的一些東西會(huì)無法控制。
推薦代碼:
復(fù)制代碼 代碼如下:
#import "YYViewController.h"
#import
@interface YYViewController ()
@property(nonatomic,strong)AVAudioPlayer *player;
- (IBAction)play;
- (IBAction)pause;
- (IBAction)stop;
@end
復(fù)制代碼 代碼如下:
@implementation YYViewController
#pragma mark-懶加載
-(AVAudioPlayer *)player
{
if (_player==Nil) {
//1.音頻文件的url路徑
NSURL *url=[[NSBundle mainBundle]URLForResource:@"235319.mp3" withExtension:Nil];
//2.創(chuàng)建播放器(注意:一個(gè)AVAudioPlayer只能播放一個(gè)url)
self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil];
//3.緩沖
[self.player prepareToPlay];
}
return _player;
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (IBAction)play {
//開始播放/繼續(xù)播放
[self.player play];
}
- (IBAction)pause {
//暫停
[self.player pause];
}
- (IBAction)stop {
//停止
//注意:如果點(diǎn)擊了stop,那么一定要讓播放器重新創(chuàng)建,否則會(huì)出現(xiàn)一些莫名其面的問題
[self.player stop];
self.player=Nil;
}
@end
四、播放多個(gè)文件
點(diǎn)擊,url,按住common建查看。
可以發(fā)現(xiàn),這個(gè)url是只讀的,因此只能通過initWithContentsOfUrl的方式進(jìn)行設(shè)置,也就意味著一個(gè)播放器對(duì)象只能播放一個(gè)音頻文件。
那么如何實(shí)現(xiàn)播放多個(gè)音頻文件呢?
可以考慮封裝一個(gè)播放音樂的工具類,下一篇文章將會(huì)介紹具體怎么實(shí)現(xiàn)。
如何制作一個(gè)簡(jiǎn)單的 iOS app?
如今,不少企業(yè)都想擁有屬于自己企業(yè)或產(chǎn)品的手機(jī)APP,但其中最困擾企業(yè)主的問題就是:開發(fā)一款手機(jī)APP到底需要多少錢?
簡(jiǎn)單點(diǎn)來說,要視手機(jī)APP的需求及質(zhì)量而言,價(jià)位一般在幾千到十幾萬左右,更高端的價(jià)格更高。
今天,我們就來詳細(xì)分析一下這個(gè)問題,請(qǐng)繼續(xù)往下看吧。
一、APP開發(fā)款式分為固定款和定制款,兩者的價(jià)格均不相同
固定款:是指直接套用已有的、現(xiàn)成的APP固定模板,報(bào)價(jià)是固定的,所需要的功能也是固定的,缺點(diǎn)就是客戶拿不到源代碼,也不能根據(jù)企業(yè)需求進(jìn)行定制,由于源代碼是封裝的,如果企業(yè)以后想進(jìn)行功能升級(jí)或系統(tǒng)維護(hù)的話,也不能夠?qū)崿F(xiàn),只能重新開發(fā)一個(gè)新的軟件。
固定款的APP開發(fā)時(shí)間短,約2~3日的時(shí)間即可完成,費(fèi)用大約在幾千到幾萬之間。
定制款:定制款是指APP的功能全部重新開發(fā),過程比較繁瑣,需要美工、策劃、APP開發(fā)(前臺(tái)/客戶端/手機(jī)端)、后臺(tái)程序員等工種協(xié)同完成,大型的、功能復(fù)雜的APP甚至需要數(shù)十人的團(tuán)隊(duì)。
由于APP的功能和設(shè)計(jì)都是定制的,因此價(jià)格會(huì)高些。定制款的開發(fā)時(shí)間與開發(fā)價(jià)格是成正比的,開發(fā)時(shí)間長(zhǎng),大約在兩三個(gè)月甚至不定的周期里才能完成,而費(fèi)用大概在幾萬甚至十幾萬左右。
因此,想要知道開發(fā)一款手機(jī)APP需要花費(fèi)多少錢,企業(yè)主首先必須把APP的詳細(xì)需求和功能告知APP開發(fā)公司,開發(fā)公司才能報(bào)出一個(gè)合理的價(jià)格。
二、手機(jī)APP平臺(tái)不同,制作成本也不一樣
現(xiàn)在市面上流行的手機(jī)APP制作平臺(tái)主要有兩種一般包括兩種系統(tǒng):安卓系統(tǒng)(Android)和蘋果系統(tǒng)(IOS)。
一般來說,制作蘋果系統(tǒng)的手機(jī)APP軟件費(fèi)用要比安卓平臺(tái)的貴一些,因?yàn)樘O果公司對(duì)蘋果平臺(tái)的封閉性和手機(jī)APP開發(fā)語言O(shè)bjective-C的難度,都讓APP開發(fā)者加大了蘋果系統(tǒng)手機(jī)APP開發(fā)的難度。
三、APP制作成本包含參與人員的工資
通常情況下,開發(fā)一款A(yù)PP需要產(chǎn)品經(jīng)理、客戶端工程師、后端工程師和UI設(shè)計(jì)師各一名,這已經(jīng)是制作手機(jī)APP應(yīng)用軟件比較精簡(jiǎn)的配置了,所以這些參與人員的工資也是包含在APP制作成本當(dāng)中的。這些工作人員的月薪加起來可能都會(huì)超過4、5萬元。
四、APP開發(fā)公司的所在地
需要注意的是,同樣實(shí)力的APP開發(fā)公司,在不同的城市也會(huì)導(dǎo)致APP的成本費(fèi)用高一些
開發(fā)一個(gè)簡(jiǎn)單的apple app要多少錢?
根據(jù)2020年1月的最新數(shù)據(jù),開發(fā)一個(gè)app大概需要幾萬到幾百萬不等。
互聯(lián)網(wǎng)是個(gè)神奇的大網(wǎng),大數(shù)據(jù)開發(fā)和軟件定制也是一種模式,這里提供最詳細(xì)的報(bào)價(jià),如果你真的想做,可以來這里,這個(gè)手機(jī)的開始數(shù)字是一伍扒中間的是壹壹三三最后的是泗柒泗泗,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內(nèi)容,如果只是湊熱鬧的話,就不要來了。
開發(fā)一個(gè)安卓app軟件,需要考慮因素很多。如果是一款功能簡(jiǎn)單不是很全面,客戶幾乎沒有什么要求的APP,只需要讓美工對(duì)前臺(tái)ui頁(yè)面進(jìn)行一定程度的修改,最短一兩天就能完成的,費(fèi)用大致需要幾千元。
而開發(fā)一個(gè)完整的安卓app,簡(jiǎn)單的需要幾萬左右,復(fù)雜的幾十上百萬,安卓難度不比IOS大,很多團(tuán)隊(duì)都可以承包。
擴(kuò)展資料:
軟件維護(hù)
1、安裝App后沒有用的安裝包apk及時(shí)刪除
手機(jī)和個(gè)人計(jì)算機(jī)有很大的相似之處,在維護(hù)方法方面很多是相通的。現(xiàn)在許多經(jīng)過手機(jī)廠商改進(jìn)過的ROM都十分貼心,一般安裝完某個(gè)App后會(huì)提醒是否刪除安裝包,如果沒有其他用途了就可以立即刪除,如果手機(jī)沒有此項(xiàng)功能,也可手動(dòng)刪除。
2、定期清理緩存
長(zhǎng)期使用社交應(yīng)用會(huì)產(chǎn)生非常多的緩存,而且應(yīng)用自己不會(huì)刪除,長(zhǎng)時(shí)間會(huì)積累許多的緩存,占用存儲(chǔ)空間且造成卡頓,因此,可以使用手機(jī)設(shè)置里的應(yīng)用程序管理里的清除緩存功能刪除。還可以使用有清理垃圾功能的系統(tǒng)維護(hù)App。也可以卸載后重裝一次。
3、使用時(shí)及時(shí)關(guān)閉不用的程序
雖然安卓系統(tǒng)會(huì)在內(nèi)存緊張時(shí)自動(dòng)結(jié)束一些進(jìn)程,但在實(shí)際的應(yīng)用中,應(yīng)該有未雨綢繆的意識(shí),平時(shí)就隨手在多任務(wù)切換界面結(jié)束當(dāng)前用不到的App,釋放手機(jī)當(dāng)時(shí)的運(yùn)行內(nèi)存,不僅有利于手機(jī)高效的運(yùn)轉(zhuǎn),也防止其后臺(tái)軟件運(yùn)行時(shí)的流量白白流失。
網(wǎng)頁(yè)題目:ios開發(fā)簡(jiǎn)易程序,ios開發(fā)簡(jiǎn)易程序怎么開
網(wǎng)站地址:http://vcdvsql.cn/article34/dsdejpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、云服務(wù)器、商城網(wǎng)站、微信小程序、面包屑導(dǎo)航、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)