軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

ERP軟體客製化導入

ERP軟體客製化導入,室內設計、營造業、裝潢、木作工程、系統櫃工程、會計系統,全面提升公司管理營運效率。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

2019年1月14日 星期一

2018年回顧(專案開發、客製化軟體開發)

   1、回顧2018年專案案例,網智開發團隊成長非常多,也針對 室內設計、裝潢行業領域開發了量身客製化的報價軟體,也分別在台南、台中、桃園、嘉義、台北、新增都有客戶進行安裝測試、購買的我們的軟體,甚至也回饋了想要的擴充功能。







    2、在2018年也陸續接受到越南客戶的回報,在2017年開發的越南工廠ERP系統,因為2017年的中美貿易戰,越南突然的轉單效應,訂單成長了超過50%,也感謝我們還好2017年要導入產品BOM表、成本分析系統、訂單管理相關功能,工廠的員工可以快速分析成本、快速產生統計圖表,越南廠長當初對系統保持懷疑的態度,變成主動2018年要求我們可以接續規劃 APS生產排程系統。
    3、和中醫醫學連鎖機構開發亞洲唯一的3D互動教學系統,並申請專利。
    4、和國際筆電大廠聯合開發筆電裝置音效控制系統。
    5、協助台灣廚具大廠-林內廚具,開發電子發票、工單排單系統。
    6、投入開發新模式的C To B To C貿易系統,有別于市面上單純B To Ct套裝系統,適合各批發行業、家具貿易業、建材行等行業進行,他們的客戶下單、系統安排出貨流程、對外進行各自客戶查詢訂單庫存、出貨資訊。
    7、開發台灣第一套比特幣挖礦算力監控程式平台,可以支援同時監控超過300臺以上挖礦算力狀況。
    8、開發中鋼集團的FLIR、Fluke熱影像管理軟體。
    9、窗簾業、布業、地板業管理系統研發投入。
    10、南部團隊-K書中心出入管理系統導入。
    11、南部社區大樓太陽能監控平台開發。
    12、印尼台商-模具工廠 ERP 系統導入。


2019 年,將面臨更多挑戰,也會針對窗簾、家具、地板、壁紙、室內裝修產業領域,更深入進行軟體研發,讓更多中小企業、店面有合適的資訊系統可以使用、並更深入中南部進行優質服務。











網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105








2018年11月25日 星期日

社區型太陽能面板遠端中央監控系統暨電子看板(軟體開發、監控系統)

我們軟體開發團隊這個月協助南部的多個大樓管理委員會,建置太陽能電力即時監控系統 以及大樓社區收費管理系統,主要是目前台灣各縣市陸續很多地方都有擺放建置太陽能板,作為電力儲備與節能規劃,而建置太陽能儲備電力,但很多地方都沒有利用資訊科技、軟體開發來作為即時統計數字彙整,所以南部多個大樓社區知道我們軟體開發團隊很擅長物聯網(IOT)與軟體科技的整合,開始由我們建立社區型太陽能遠端監控系統,讓社區住戶或是有興趣的人可以隨時透過該系統查詢目前的太陽能板發電狀況。



 









專案開發預計完成功能:

1. 每個有安裝太陽能板的住戶皆安裝感應數據接收器,用來收集每個住戶的太陽能板發電狀況,包含該位置太陽強度、風向(風速在下階段規畫內)、灰塵、溫濕度、目前發電的電壓/電流

2. 資訊透過無線或是有線網路送到中央機房,在網路上可以提供查詢,也可以在APP上即時看到自己家的太陽能狀態。並且,利用這些資訊和每日的紀錄資料,可以預估未來的發電量和預計的售電利潤

3. 社區入口設置一大型LCD來即時展示目前整個社區的太陽能發電狀態、目前的發電量等等。若住戶有在系統選擇開放資訊,也會輪播每個住戶單獨的太陽板目前狀態/每日發電量等等的資訊表格。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。












網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2018年11月21日 星期三

Android APP 非同步下載圖片實作(背景服務)-APP開發教學

  此篇文章主要是示範教學如何開發Android APP時,利用背景服務來進行比較耗時的工作,使得使用者可以不會覺得APP停頓當掉的錯覺。

   背景服務程式(背景執行緒)主要在比較複雜的APP應用程式,它在執行運作時,例如從網路下載檔案、讀取後端資料庫的資料、讀取手機記憶卡的資料時,會需要較多時間,所以系統畫面沒辦法即時回應,甚至出現【應用程式沒有回應】的對話視窗,詢問使用者是否繼續等待或結束APP程式。

 

    而透過在背後另外建立自己的執行緒,去獨立執行比較耗時的工作任務,跟主畫面的執行緒沒有關聯,完全不會影響主畫面的更新與停頓狀態.

     這類性質的工作就適合利用 Android API 提供的 AyncTask 執行緒.

下面我在 res/laylout 設計一個簡單的APP主畫

繪圖

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#607D8B">

<!-- 顯示圖片的元件 -->

<ImageView

android:id="@+id/imageview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

<!-- 開始下載圖片的按鈕元件 -->

<Button

android:id="@+id/download_btn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_margin="6sp"

android:onClick="clickDownLoadButton"

android:text="背後執行下載圖片"

android:textSize="24sp" />

<LinearLayout

android:id="@+id/op_panel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@id/imageview"

android:layout_centerInParent="true"

android:background="@drawable/operation_drawable"

android:orientation="horizontal"

android:padding="6sp"

android:visibility="invisible">

<!-- 顯示前一張圖片 -->

<ImageButton

android:id="@+id/previous"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:onClick="clickMoveButton"

android:src="@drawable/ic_keyboard_arrow_left_white_48dp" />

<!-- 顯示下一張圖片 -->

<ImageButton

android:id="@+id/next"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:onClick="clickMoveButton"

android:src="@drawable/ic_keyboard_arrow_right_white_48dp" />

</LinearLayout>

</RelativeLayout>



程式解說:

上面主要畫面配置檔,提供一個按鈕,可以下載7張圖片,並將下載的圖片依序可以輪流顯示每張圖片,每張圖片都是透過背後執行緒進行下載,檔執行任務完成後,在將 LinearLayout容器顯示出來,這個容器很簡單放入兩個 ImageButton ,用來切換上一

張與下一張圖片。

現在回到 Java 主程式,宣告一個繼承

AppCompatActivity 的類別,

public class AsyncTaskDemo extends AppCompatActivity {

private ImageView imageview;

private LinearLayout op_panel;

private Bitmap[] images;

// 目前畫面顯示的圖片編號

private int position = 0;

// 顯示下載進度用的進度對話框

private ProgressDialog progressDialog;




程式解說:

在上面主要宣告幾個欄位 Fields , 用來對應之前的配置畫面元件,還有 Bitmap[] 陣列,存放下載的圖片,以及一個進度用的是從 PrgressDialog。

然後重點在 Button 圖片下載的程式碼邏輯:

public void clickDownLoadButton(View view) {

// 這邊可以讓下載按鈕消失

findViewById(R.id.download_btn).setVisibility(View.INVISIBLE);

// 建立下載圖片的AsyncTask物件

final DownloadImageTask downloadImageTask = new DownloadImageTask();

// 顯示 進度對話框

progressDialog = new ProgressDialog(this);

progressDialog.setTitle("Download");

progressDialog.setMessage("Please wait for download...");

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

progressDialog.setProgress(0);

progressDialog.setCancelable(false);

// 加入取消工作的按鈕

progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 取消AsyncTask的工作,參數指定為true,表示取消正在執行的工作

// 呼叫這個方法的AsyncTask物件,在結束doInBackground方法後,

// 不會呼叫onPostExecute方法,改為呼叫onCancelled方法

downloadImageTask.cancel(true);

}

});

// 顯示進度對話框

progressDialog.show();

// 啟動AsyncTask物件

downloadImageTask.execute();

}



上面程式主要宣告一個 DownloadImageTask ,
這個程式主要是繼承了 AsyncTask 類別

// 呼叫這個物件的execute方法後就會執行這個方法

// 參數是AsyncTask泛型指定的第一個型態的陣列

@Override

protected Void doInBackground(Void... args) {

// 讀取陣列資源,下載的圖片名稱

Resources res = getResources();

String[] imageNames =

res.getStringArray(R.array.android_icons_array);

// 讀取儲存圖片的網路位置

String baseUrl = getString(R.string.base_url);

// 設定進度對話框的最大進度數量

progressDialog.setMax(imageNames.length);

for (int i = 0; i < imageNames.length; i++) {

// 判斷是否取消工作

if (isCancelled()) {

break;

}

// 下載圖片的完整網址

String url = baseUrl + imageNames[i];

// 從網際網路下載圖片

downloads.add(loadBitmap(url));

// 執行進度處理,參數會傳送給onProgressUpdate方法

publishProgress(i + 1);

}

// 如果已經下載圖片

if (downloads.size() > 0) {

// 建立儲存圖片的Bitmap陣列

images = new Bitmap[downloads.size()];

// 把List物件轉換為陣列

downloads.toArray(images);

}

return null;

}



  

// 執行進度處理,參數是AsyncTask泛型指定的第二個型態的陣列

// 在doInBackground方法中,呼叫publishProgress方法後,

// 就會執行這個方法並接收放在publishProgress方法中的參數

@Override

protected void onProgressUpdate(Integer... values) {

// 設定進度對話框的進度

progressDialog.setProgress(values[0]);

// 設定ImageView使用的ImageView物件

imageview.setImageBitmap(downloads.get(downloads.size() - 1));

}

// doInBackground方法結束後就會執行這個方法

// 參數是AsyncTask泛型指定的第三個型態的陣列

// 接收doInBackground方法的回傳值

@Override

protected void onPostExecute(Void result) {

// 結束進度對話框

progressDialog.dismiss();

// 設定ImageView使用的ImageView物件

imageview.setImageBitmap(images[0]);

// 顯示上下張圖片的操作按鈕

op_panel.setVisibility(View.VISIBLE);

}

// 呼叫cancel方法後執行這個方法

// 參數是AsyncTask泛型指定的第三個型態的陣列

// 接收doInBackground方法的回傳值

@Override

protected void onCancelled(Void result) {

if (images != null) {

// 設定ImageView使用的ImageView物件

imageview.setImageBitmap(images[0]);

// 顯示上下張圖片的操作按鈕

op_panel.setVisibility(View.VISIBLE);

}

}

完成上面所有程式,就完成一個非同步的下載圖片實作案例,這邊我是預期看這篇實作教學的本身對 Android 開發有一定的經驗,如果對於這篇教學有任何問題,可以寄發郵件向我詢問。

程式執行結果

繪圖2

繪圖3


  





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105